水平拉伸按钮

时间:2014-03-25 15:40:42

标签: android android-layout

我有一个相对布局,我想在其中水平对齐一个图像按钮和两个普通按钮 我想要做的是,一旦我将布局切换到横向模式,我希望两个普通按钮水平拉伸,宽度相等。

肖像模式

-----------------------------
ImageBtn  [Button1] [Button2]
-----------------------------

横向模式

-----------------------------------------------
ImageBtn  [     Button1    ] [     Button2    ]
-----------------------------------------------

我不知道采用美容设计方法来实现这一目标。

4 个答案:

答案 0 :(得分:0)

将所有3个按钮放在LinearLayout中,然后为Button1分配Button2layout_weight相同的值。

答案 1 :(得分:0)

很简单我会给你的布局你只需要用它来布局.... 在这里,我使用了3个按钮,你只需将一个按钮替换为图像按钮......这就是所有......最好的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:background="@drawable/logo">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" 
    android:layout_weight="1"/>

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" 
    android:layout_weight="1"/>
<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" 
    android:layout_weight="1"/>

 </LinearLayout>

 </RelativeLayout>

答案 2 :(得分:0)

您可以尝试在布局设计中使用重量。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

         <ImageButton android:layout_width="0dp" 
                      android:layout_height="fill_parent"
                      android:layout_weight="1"/>

         <TextView    android:layout_width="0dp"
                      android:layout_height="fill_parent"
                      android:layout_weight="1"/>

         <TextView    android:layout_width="0dp"
                      android:layout_height="fill_parent"
                      android:layout_weight="1"/>
</LinearLayout>

答案 3 :(得分:0)

你必须创建2个布局文件才能工作,一个在普通布局目录中,一个在layout-land目录中。

正常布局:

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

<Button
    android:id="@+id/btn2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:background="#FFFF0000"
    android:text="btn2" />

<Button
    android:id="@+id/btn1"
    android:background="#FF00FF00"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/btn2"
    android:text="btn1" />

<ImageButton
    android:background="#FF0000FF"
    android:id="@+id/ibtn"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@id/btn1"
    android:src="@drawable/ic_launcher" />

</RelativeLayout>

横向布局(在layout-land目录中):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="3" >

<ImageButton
    android:id="@+id/ibtn"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@id/btn1"
    android:layout_weight="1"
    android:background="#FF0000FF"
    android:src="@drawable/ic_launcher" />

<Button
    android:id="@+id/btn1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/btn2"
    android:layout_weight="1"
    android:background="#FF00FF00"
    android:text="btn1" />

<Button
    android:id="@+id/btn2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_weight="1"
    android:background="#FFFF0000"
    android:text="btn2" />

</LinearLayout>