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>