RelativeLayout中的按钮填充屏幕宽度

时间:2014-11-12 18:09:10

标签: android button width relativelayout

enter image description here

如您所见,我在Buttons中有四行RelativeLayout。如何让Buttons均匀覆盖屏幕宽度?

我尝试了各种各样的事情,但没有任何效果:我尝试将RelativeLayout宽度设置为match_parent并使所有Button's layout_width = { {1}}以及各种各样的事情。

有什么想法吗?

fill_parent

3 个答案:

答案 0 :(得分:2)

最好的方法是使用四个垂直线性布局,每个布局在水平线性布局中包含其按钮。确保所有按钮宽度均为fill_parent

然后将权重属性设置为每个LinearLayouts width = match_parent并设置Buttons layout_weight =“1”使LinearLayouts width = match_parent并将Buttons layout_weight =“1”设置为1,如下所示:

android:layout_weight = "1"

确保线性布局宽度也设置为match_parent

基本上,这会增加权重并将屏幕宽度划分为按钮之间。

问题的解决方案是权重。

希望这会有所帮助。快乐的编码:)

P.S。如果这回答了您的问题,请将此标记为正确答案

答案 1 :(得分:0)

您可以获取屏幕尺寸并使用它们来决定按钮尺寸

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

然后使用这些尺寸来确定按钮的大小(每个尺寸的宽度除以4)

摆弄这个应该可以让你到达你想要的地方

答案 2 :(得分:0)

为什么不将LinearLayoutweight属性用于一行?它可能是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Game" >

<RelativeLayout 
    android:id = "@+id/rl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    >

<LinearLayout
    android:id="@+id/ll_row_1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<Button
    android:id="@+id/button0"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:layout_weight="1"
    android:tag="0"/>

<Button
    android:id="@+id/button1"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:layout_weight="1"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:tag="0"/>

<Button
    android:id="@+id/button2"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:layout_weight="1"
    android:tag="0"/>

<Button
    android:id="@+id/button3"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:layout_weight="1"
    android:tag="0"/>

</LinearLayout>

...
...
...

<LinearLayout
    android:id="@+id/ll_row_4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_below="@+id/ll_row_3">

<Button
    android:id="@+id/button12"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:background="@drawable/button"
    android:layout_weight="1"
    android:onClick="ButtonOnClick" 
    android:tag="0"/>

<Button
    android:id="@+id/button13"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:layout_weight="1"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:tag="0"/>

<Button
    android:id="@+id/button14"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:layout_weight="1"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:tag="0"/>

<Button
    android:id="@+id/button15"
    android:layout_width="@dimen/size"
    android:layout_height="@dimen/size"
    android:layout_weight="1"
    android:background="@drawable/button"
    android:onClick="ButtonOnClick" 
    android:tag="0"/>
</LinearLayout>

    </RelativeLayout>
</RelativeLayout>

如果它不起作用,请尝试设置按钮&#39; android:layout_width属性0dp