Pregunta

Estoy escribiendo una aplicación de administrador de tareas que descarga una lista de tareas y subtareas de un servidor y crea una nueva casilla de cada elemento y lo añade a una disposición lineal (llamado LL abajo). El problema que estoy teniendo es que no puede establecer el "margen de diseño izquierda" utilizando Java como puedo con XML (esto es para las subtareas a ellos sangrar un poco en la pantalla). Puedo ajustar la mayoría de otras propiedades XML, pero cb.setMargins () no funciona (dice indefinido Se casilla tipo). Ajuste el relleno, por supuesto, no logra el resultado deseado.

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);
    }

Cualquier idea o cómo iba a trabajar a través de este?

¿Fue útil?

Solución

Creo que se debe añadir la casilla de verificación a la LinearLayout utilizando los LayoutParams correctas:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 123;
li.addView(cb, params);

Espero que ayude!

Otros consejos

Hola Prueba esto ...

    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);
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top