我用一些按钮创建了一个按钮栏,这里的问题是当按钮填满屏幕宽度时,新按钮开始收缩:请参阅此处的
我曾尝试将宽度设置为wrap_content
、一些固定值和match_parent
,但所有这些都给了我相同的结果。
这是我的xml:
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Home" >
<LinearLayout
android:id="@+id/grid1"
android:layout_width="875dp"
android:layout_height="500dp"
android:layout_centerInParent="true"
android:background="@android:color/darker_gray"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="top"
style="@android:style/ButtonBar" >
<Button
android:id="@+id/Main"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="@string/main"
android:layout_weight="1"/>
<Button
android:id="@+id/HomeView"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/Main"
android:text="@string/homeview" />
<Button
android:id="@+id/Lighting"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/HomeView"
android:text="@string/lighting" />
<Button
android:id="@+id/A.C."
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/Lighting"
android:text="@string/ac" />
<Button
android:id="@+id/Profiles"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/A.C."
android:text="@string/profiles" />
<Button
android:id="@+id/Movies"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/Profiles"
android:text="@string/movies" />
<Button
android:id="@+id/Music"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/Movies"
android:text="@string/music" />
<Button
android:id="@+id/TVShows"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/Music"
android:text="@string/tvshows" />
<Button
android:id="@+id/Remote"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/TVShows"
android:text="@string/remote" />
</LinearLayout>
</RelativeLayout>
你不应该使用这样的设计,你应该使用一个选项卡栏和链接到Android的操作栏。
http://android-developers.blogspot.fr/2011/04/customizing-action-bar.html
只需设置linearlayout的方向
android:orientation="horizontal"
并为所有按钮提供这两个参数
android:layout_widht="0dp"
android:layout_weight="1"
现在,所有按钮的宽度都相等。