我正在尝试使用中间的三个按钮进行布局。我稍后会在右上角再添加2个按钮,但是现在我正试图让它与这3个按钮一起使用。
这就是我的想法:
并且在某种程度上它应该在每个屏幕尺寸上都相似(因此随着屏幕尺寸变小,按钮会变小)。
现在这就是我所拥有的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/multiplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/menubutton"
android:text="@string/multiplayer" />
<Button
android:id="@+id/options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/multiplay"
android:layout_below="@+id/multiplay"
android:background="@drawable/menubutton"
android:text="@string/options" />
<Button
android:id="@+id/singleplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/multiplay"
android:layout_alignLeft="@+id/multiplay"
android:background="@drawable/menubutton"
android:text="@string/singleplayer"
/>
在大屏幕上看起来很好,但是在较小的情况下会发生这种情况:
我用谷歌搜索过,大多数页面建议使用“重量”,但显然只适用于线性布局。有什么建议吗?
由于
答案 0 :(得分:1)
你应该使用重量,这样你可以均匀地分配屏幕上的按钮,无论屏幕是什么。
这里是RelativeLayout中LinearLayour的一个例子。 (如果RelativeLayout中没有其他内容,则可以使用LinearLayout替换RelativeLayout)
你应该玩一点,以符合你的要求。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:orientation="vertical"
android:weightSum="3" >
<Button
android:id="@+id/multiplay"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_centerHorizontal="true"
android:background="@drawable/menubutton"
android:text="@string/multiplayer" />
<Button
android:id="@+id/options"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_centerHorizontal="true"
android:background="@drawable/menubutton"
android:text="@string/options" />
<Button
android:id="@+id/singleplay"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_centerHorizontal="true"
android:background="@drawable/menubutton"
android:text="@string/singleplayer"
/>
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:1)
试试这个..
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical" >
<Button
android:id="@+id/multiplay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/menubutton"
android:text="@string/multiplayer" />
<Button
android:id="@+id/options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/menubutton"
android:text="@string/options" />
<Button
android:id="@+id/singleplay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/menubutton"
android:text="@string/singleplayer" />
</LinearLayout>
</RelativeLayout>