Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android weightSum no funciona correctamente

Tengo un diseño con tres elementos y su orientación es 'horizontal'

Quiero fijar el tamaño que cada elemento ocupa en mi diseño.

  • GetActionBar () devuelve Null (AppCompat-v7 21)
  • ¿Por qué es el evento touchstart después de hacer clic?
  • Cómo deshabilitar el colapso de CollapsingToolbar cuando el desplazamiento no tiene contenido?
  • Ejecución Animación y conmutador de imágenes al mismo tiempo
  • ¿Cómo pasar de managedQuery a LoaderManager / CursorLoader?
  • Nueva publicación "Autenticación con Google Play Services", Problemas con la obtención de un token a través de GoogleAuthUtil.getToken
  • El primer elemento debe tomar el 40% del espacio total, entonces el segundo elemento debe ocupar el 5% y el tercero ocupar el espacio restante del 55%.

    Mi diseño se ve así:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="100" > <TextView android:id="@+id/outletname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="40" android:text="@string/outlet_name2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="5" android:text=": " /> <TextView android:id="@+id/outletnamevalue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="55" android:text="abcdefttt" /> </LinearLayout> </LinearLayout> 

    Texto en 'TextView' cambiará dinámicamente, así que quiero mantener el espacio constante para los elementos independientemente del contenido de las vistas …

  • Ámbito de la actividad y Asynctask
  • Incluir dependencias de maven en eclipse "Ejecutar como -> Aplicación para Android" build
  • ClassCastException LinearLayout LayoutParams
  • ¿Dónde registra bugs para Android / iOS Productos o servicios de Google (AppInvites, Maps, etc ...)?
  • Diferencia en contexto esto y getContext ()
  • Equivalente de ListView.setEmptyView en RecyclerView
  • 2 Solutions collect form web for “Android weightSum no funciona correctamente”

    Con el fin de hacer efectivo el peso , también debe tener que establecer el ancho de su TextViews a 0dp .

     android:layout_width="0dp" 

    Yo uso esta fórmula:

     layout_weight=(weightSum-PercentageYouWant*weightSum)/(TotalElements-1) 

    El primer elemento debe tomar el 40% del espacio total, entonces el segundo elemento debe ocupar el 5% y el tercero ocupar el espacio restante del 55%.

    1er Elemento:

     (100-0.4*100)/(3-1)="30" 

    2do Elemento:

     (100-0.05*100)/(3-1)="47.5" 

    3er Elemento:

     (100-0.55*100)/(3-1)="22.5" 

    Por lo que el 40% + 5% + 55% = 100%

     layout_weight="30" + layout_weight="47.5" + layout_weight="22.5" = weightSum="100" 

    Así lo entiendo.

    Aquí está un ejemplo (los botones son sólo para la referencia gráfica)

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="120" > <!-- WeightSum=120 and I will add 4 elements, so TotalElements=4 --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="36" android:orientation="vertical" > <!-- I want this LinearLayout to be 10%, so (120-10%*120)/(4-1)=36 --> <Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="10%" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="32" android:orientation="vertical" > <!-- I want this LinearLayout to be 20%, so (120-20%*120)/(4-1)=32 --> <Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="20%" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="28" android:orientation="vertical" > <!-- I want this LinearLayout to be 30%, so (120-30%*120)/(4-1)=28 --> <Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="30%" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="24" android:orientation="vertical" > <!-- I want this LinearLayout to be 40%, so (120-40%*120)/(4-1)=24 --> <Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="40%" /> </LinearLayout> </LinearLayout> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.