屏幕button半宽

我有一个线性布局的button。 我想button占据其父母的一半宽度。 有没有办法在布局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> 

我的问题很像这样一个指定宽度为一半可用的屏幕宽度声明,除非我只有一个button。

是的,解决scheme是非常类似于这个问题,但你也想设置LinearLayout的父母的WeightSum:

 <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> 

您需要设置0.5(一半)权重,并将宽度设置为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"/> 

这些解决scheme在Android L上都不适用于我。我必须按照以下方式执行wrap_content:

 <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" /> 

与您发布的问题完全相同,只需使用虚拟视图即可:

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