如何在Relativelayout中制作灵活大小的按钮?

时间:2013-11-27 09:47:39

标签: android android-layout relativelayout horizontalscrollview buttonbar

我的RelativeLayout样式为ButtonBar,并且包含在HorizontalScrollView中,此布局是一个固定高度的标志,以便进行控制,但这会让它看起来很大小屏幕设备,

例如,在 10' 设备中:

enter image description here

3.7' 设备中:

enter image description here

这是我的 XML 代码:

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tool"
    android:id="@+id/horizontalScrollView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true" >
    <RelativeLayout
        android:id= "@+id/buttobbar"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:gravity="top"
        style="@android:style/ButtonBar"
        android:background="@drawable/released" >

        <Button
            android:id="@+id/Main"
            android:layout_width="120dp"
            android:layout_height="60dp"
            android:background="@android:color/transparent"
            android:textColor="@android:color/white"
            android:textStyle="bold"
            android:text="@string/main"/>

        <View 
            android:id="@+id/separator"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/Main"
            android:layout_width="1px"
            android:background="@drawable/separators"/>

        <Button
            android:id="@+id/HomeView"
            android:layout_width="120dp"
            android:layout_height="60dp"
            android:background="@android:color/transparent"
            android:textColor="@android:color/white"
            android:textStyle="bold"
            android:layout_toRightOf="@+id/Main"
            android:text="@string/homeview" />

         <View 
            android:id="@+id/separator"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@+id/HomeView"
            android:layout_width="1px"
            android:background="@drawable/separators"/>

          .
          .
          . <!-- after 7 other buttons separated with views --!>
    </RelativeLayout>
    </HorizontalScrollView>

3 个答案:

答案 0 :(得分:1)

在相对布局的地方采取线性布局,你不必给出layout_width的绝对值只需使用android:layout_weight并给所有按钮赋予权重 从此它将自动调整所有屏幕,无论它是什么  我认为这将有助于你

答案 1 :(得分:0)

只需编写以下代码即可为布局(线性布局)指定权重:

 android:weightSum="1"(can vary,according to your requirement)

并将此权重总和除以如下:

android:layout_weight=0.5

答案 2 :(得分:0)

增加体重是最好的选择: 试试这个:

android:weightSum="1"

并将此权重总和除以如下:

android:layout_weight=0.5