Set Ancho dinámicamente de textview
En mi proyecto, necesito dibujar filas de textview dinámicamente según los datos recibidos para demostrarlo. Para alinearlos correctamente, he utilizado Table Row n xml, y lo he llamado en código java. Ahora, en su LayoutParam he dado MATCH_PARENT, pero envuelve el texto de acuerdo a la longitud de los datos recibidos. Ahora, quiero fijar el ancho de los campos para una vista tabular. Hago todo este proceso en el método postExecute. En este método, he utilizado la función setWidth para establecerlo de acuerdo con el ancho del elemento de la fila de encabezado.Aquí, Sno es una vista, mientras que el tamaño es matriz que contiene el ancho de todos los elementos de headerRow.
Sno.setTag(patient); Sno.setWidth(size[0]);
Pero no resolvió este problema, cuando intenté getWidth para ver su anchura, él estaba mostrando su valor 0. Entonces intenté fijar este ancho usando LinearLayout.LinearParams
- ¿Cómo maneja el XmlPullParser de Android las vulnerabilidades?
- Mocking up WifiManager para la prueba de unidad Android
- Edificio Gradle tarda una eternidad después de actualizar a Java 8
- Java: Diferentes resultados al decodificar cadena base64 con java.util.Base64 vs android.util.Base64
- Android: Dialog Builder multipleselection arreglo matriz
LinearLayout.LayoutParams params_sno = new LinearLayout.LayoutParams(size[0], LinearLayout.LayoutParams.MATCH_PARENT); Sno.setLayoutParams(params_sno);
Pero aún no hay beneficio, secondaly, si quito MATCH_PARENT de ancho de LayoutParams, su anchura se incrementó de ancho de elemento de fila de encabezado. Campos sin datos son invisibles.
- OAuth: App Id o redirect_uri no coincide con el código de autorización
- Android - Hashtag en TextView
- ¿Cómo hago que mi aplicación de Android genere un número aleatorio?
- Cómo obtener el icono de otras aplicaciones (Android)
- Cómo utilizar el widget de NumberPicker Android 4.0
- Otras opciones de la biblioteca de Android TextToSpeech
- Añadir oyente a oyente conjunto
- Desplazamiento de TextView en una ScrollView a una subcadena de texto específica
Prueba esto
TableRow row = new TableRow(activityContext); TableLayout.LayoutParams td_tr = new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); row.setWeightSum(10); row.setLayoutParams(td_tr); row.setGravity(Gravity.CENTER); row.setBackgroundColor(Color.parseColor("#D2D2D2")); TextView tv= new TextView(activityContext); tv.setText(String.valueOf(i)); tv.setTextAppearance(activityContext, style.tvBoldRow); tv.setLayoutParams(new TableRow.LayoutParams(0 , LayoutParams.WRAP_CONTENT, 1)); // Here you can set weight to your TextView. tv.setPadding(2, 2, 2, 2); tv.setGravity(Gravity.CENTER); row.addView(tv);
prueba esto:
LinearLayout.LayoutParams Params1 = new LinearLayout.LayoutParams(15,50); tv.setLayoutParams(Params1);
Agregue el siguiente parámetro
android:weight = "1"
En xml a la vista de texto y el conjunto
android:layout_width = "0dp"
.
Creo que esto debería funcionar para usted.
Sí, puedes establecer el peso del código java.
Para establecer el peso del código java:
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1.0f);
El último parámetro es el peso.
Como tsp dijo
LinearLayout.LayoutParams Params1 = new LinearLayout.LayoutParams(15,50);
Entonces mientras que la agrega en la disposición de la tabla usted ha substituido add
methode que toma vistas y los params de la disposición.
También puede considerar TypedValue.applyDimention () para dar valores en DP
LinearLayout.LayoutParams Params1 = new LinearLayout.LayoutParams(TaypedValue.applyDimension(TaypedValue.COMPLEX_UNIT_DIP, 15, objDeisplayMetrics),TaypedValue.applyDimension(TaypedValue.COMPLEX_UNIT_DIP, 50, objDeisplayMetrics));
- Android java.lang.AssertionError: java.lang.NoSuchMethodException – Proguard
- ¿Cómo implementar servidor GCM-CCS XMPP de terceros utilizando openfire?