studio programacion pantalla móviles libros dividir desarrollo desarrollar curso como aprende aplicaciones android android-layout

pantalla - manual de programacion android pdf



Botón medio ancho de la pantalla (4)

Tengo un solo botón en un diseño lineal. Quiero que el botón ocupe la mitad del ancho de su padre. ¿Hay alguna manera de hacer esto en el diseño xml?

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" android:padding="6dp"> <Button android:id="@+id/buttonCollect" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="@string/hello" android:paddingLeft="8dp" android:paddingRight="8dp"/> </LinearLayout>

Mi pregunta es muy parecida a esta: Asigne ancho a la mitad del ancho de pantalla disponible declarativamente, excepto que solo tengo un botón.


Exactamente lo mismo que la pregunta que publicó, simplemente use una vista ficticia en su lugar:

<View android:weight="1" android:layout_width="0dp" android:layout_height="match_parent"/>


Necesita establecer un 0.5 (medio) peso y establecer el ancho en 0.

<Button android:id="@+id/buttonCollect" android:layout_width="0dip" android:layout_weight="0.5" android:layout_height="match_parent" android:text="@string/hello" android:paddingLeft="8dp" android:paddingRight="8dp"/>


Ninguna de estas soluciones funcionó para mí en Android L. Tuve que hacer wrap_content como a continuación:

<Button android:layout_gravity="center" android:id="@+id/btnSignin" android:layout_width="wrap_content" android:paddingLeft="20dp" android:paddingRight="20dp" android:layout_height="wrap_content" android:text="@string/btn_signin" android:layout_marginBottom="@dimen/activity_vertical_margin" />


Sí, la solución es muy similar a esa pregunta, pero también quiere establecer el pesoSum del LinearLayout principal:

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" android:padding="6dp" android:weightSum="2"> <Button android:id="@+id/buttonCollect" android:layout_width="0dp" android:layout_height="match_parent" android:text="@string/hello" android:paddingLeft="8dp" android:paddingRight="8dp" android:layout_weight="1" /> </LinearLayout>