Defina um LayoutMargin em uma caixa de seleção criada dinamicamente
-
27-09-2019 - |
Pergunta
Estou escrevendo um aplicativo de gerenciador de tarefas que baixe uma lista de tarefas e subtaretas de um servidor e cria uma nova caixa de seleção para cada item e o adiciona a um layout linear (chamado LL abaixo). O problema que estou tendo é que não posso definir a "margem de layout deixada" usando o Java como posso com XML (isso é para as subtarefas para recuperá -las um pouco na tela). Posso definir a maioria das outras propriedades XML, mas o CB.SetMargins () não funciona (diz indefinido para a caixa de seleção do tipo). Definir o preenchimento, é claro, não atinge o resultado desejado.
for(int i=0;i<tasks.size();i++) {
CheckBox cb = new CheckBox(this);
cb.setText(tasks.get(i).subtask_desc);
cb.setButtonDrawable(R.drawable.checkbox_xml);
ll.addView(cb);
}
Alguma idéia ou como eu trabalharia com isso?
Solução
Eu acho que você deve adicionar a caixa de seleção ao linearlayout usando os parampos de layoutams corretos:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 123;
li.addView(cb, params);
Espero que ajude!
Outras dicas
Oi tente isso ...
private LinearLayyout ll = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 123;;
CheckBox cb;
for(int i = 0; i < 10; i++) {
cb = new CheckBox(this);
cb.setText(categoryListArray[i]);
ll.addView(cb, ll);
}