我想让make 2按钮占用屏幕宽度的一半,但是我只有一个按钮进入屏幕并占据全屏宽度。我希望它适用于所有分辨率,所以不想要修复宽度。一个按钮将占用左半部分,另一个按钮将采取正确的一半
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:layout_gravity="left" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:layout_gravity="right" />
</LinearLayout>
</ScrollView>
答案 0 :(得分:3)
您可以定义layout_weight
来定义视图的大小。如果使用权重设置(根据lint),使用layout_width
为0dp
是最好的方法。当两个按钮具有相同的值时,两者都使用50%的宽度。玩弄价值观以获得感受。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
android:layout_weight="1"/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
android:layout_weight="1" />
</LinearLayout>
答案 1 :(得分:2)
使用以下布局技术。使用Linear Layout
。将layout_width
按钮分配给0dip
。将layout_weight
分配为1
到每个按钮,以便它们占据等于总宽度。将每个按钮的layout_height
分配为match_parent
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/ButtonLeft"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="ButtonLeft"
/>
<Button
android:id="@+id/ButtonRight"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="ButtonRight"
/>
</LinearLayout>
PS :如果您希望它们占据半屏高度而不是宽度,请将布局的orientation
更改为vertical
,并在layout_width
和{之间互换值上面的XML中的{1}}。
关于layout_weight
layout_height
决定父元素空间如何在它的子元素之间划分。如果您想在按钮之间按1:4划分宽度,则将1个按钮的layout_weight
指定为“1”,将另一个按钮指定为“3” - &gt; 1 /(1 + 3)= 1/4如你所愿。 layout_weight
处理什么空间 - 高度或宽度? layout_weight
从免费或未使用的空间进行分发。在上面的布局中,我们将layout_weight
分配给按钮的宽度。因此,父级的水平空间或宽度未使用或自由,并且根据0dip
在您的按钮之间划分。希望这会有所帮助。