Estoy tratando de crear dinámicamente objetos TableRow
y agregarlos a un TableLayout
. Los objetos TableRow
tienen 2 elementos, un TextView
y un CheckBox
. Los elementos TextView
deben tener su peso de diseño establecido en 1 para empujar los elementos CheckBox
hacia el extremo derecho.Establecer el peso de diseño de un TextView programmatically
No encuentro la documentación sobre cómo establecer programáticamente el peso de diseño de un elemento TextView
.
no he mencionado esto antes, así que lo siento. Pero probé esto antes de hacer mi pregunta. Hace que TextView desaparezca del diseño. Pero, en una nota positiva, encontré que establecer la propiedad stretch_columns de TableLayout en 0 causa el efecto que estoy buscando (TextView está a la izquierda, CheckBoxes a la derecha). Gracias por la ayuda. – eugene
Si está importando un diseño XML y no está creando su diseño dinámicamente, puede tomarlo de esta manera: 'TextView tv = (TextView) findViewById (R.id.your_textview_inside_the_linearlayout); tv.setLayoutParams (new LinearLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0.1f)); ' –
Para establecer el peso del diseño mediante programación, se debe usar' TableRow.LayoutParams' en lugar de 'TableLayout.LayoutParams'. Ver la respuesta de @Dorje. – Halil