[英]Buttons in RelativeLayout fill screen width
如您在上面看到的,我在RelativeLayout
有四行Buttons
。 如何使Buttons
均勻覆蓋屏幕寬度?
我嘗試了各種方法,但沒有任何效果:我嘗試將RelativeLayout
寬度設置為match_parent
,並使所有Button's
layout_width
= fill_parent
以及fill_parent
所有東西。
有任何想法嗎?
<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"
>
<Button
android:id="@+id/button0"
android:layout_width="@dimen/size"
android:layout_height="@dimen/size"
android:background="@drawable/button"
android:onClick="ButtonOnClick"
android:tag="0"/>
<Button
android:id="@+id/button1"
android:layout_width="@dimen/size"
android:layout_height="@dimen/size"
android:layout_toRightOf="@+id/button0"
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:layout_toRightOf="@+id/button1"
android:background="@drawable/button"
android:onClick="ButtonOnClick"
android:tag="0"/>
<Button
android:id="@+id/button3"
android:layout_width="@dimen/size"
android:layout_height="@dimen/size"
android:layout_toRightOf="@+id/button2"
android:background="@drawable/button"
android:onClick="ButtonOnClick"
android:tag="0"/>
...
...
...
<Button
android:id="@+id/button12"
android:layout_width="@dimen/size"
android:layout_height="@dimen/size"
android:layout_below="@+id/button8"
android:background="@drawable/button"
android:onClick="ButtonOnClick"
android:tag="0"/>
<Button
android:id="@+id/button13"
android:layout_width="@dimen/size"
android:layout_height="@dimen/size"
android:layout_below="@+id/button9"
android:layout_toRightOf="@+id/button12"
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_below="@+id/button10"
android:layout_toRightOf="@+id/button13"
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_below="@+id/button11"
android:layout_toRightOf="@+id/button14"
android:background="@drawable/button"
android:onClick="ButtonOnClick"
android:tag="0"/>
</RelativeLayout>
</RelativeLayout>
最好的方法是具有四個垂直線性布局,每個布局均包含其按鈕在水平線性布局中。 確保所有按鈕的寬度均為fill_parent
然后將權重屬性設置為使LinearLayouts width = match_parent的每個屬性,並設置Buttons layout_weight =“ 1”使LinearLayouts width = match_parent的按鈕設置為Button 1,如下所示:
android:layout_weight = "1"
確保線性布局的寬度也設置為match_parent
基本上,這會增加權重並將屏幕寬度划分為按鈕之間。
您的問題的解決方案是權重。
希望這可以幫助。 快樂的編碼:)
PS:如果此回答您的問題,請將其標記為正確答案
您可以獲取屏幕尺寸並使用它們來確定按鈕的尺寸
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
然后使用這些尺寸確定按鈕的尺寸(每個尺寸都是寬度除以4)
隨便擺弄一下應該可以讓您到達想要的地方
為什么不連續使用LinearLayout
和weight
屬性? 可能是這樣的:
<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>
如果不起作用,請嘗試將按鈕的android:layout_width
屬性設置為0dp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.