按钮未在Android中扩展

时间:2013-03-19 18:42:47

标签: android button android-orientation

我的布局有以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:background="@color/background_color"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="left|center_vertical"
                android:text=""
                android:textColor="@color/text_color"
                android:textSize="@dimen/nav_text_size" >
            </TextView>

            <Button
                android:id="@+id/ProceedToScreen31"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/ic_action_name"
                android:gravity="left|center_vertical"
                android:text="@string/TA1"
                android:textColor="@color/btn_text_color"
                android:textSize="@dimen/button_text_size" >
            </Button>

            <Button
                android:id="@+id/ProceedToScreen32"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/ic_action_name"
                android:gravity="left|center_vertical"
                android:text="@string/TA2"
                android:textColor="@color/btn_text_color"
                android:textSize="@dimen/button_text_size" >
            </Button>

            <Button
                android:id="@+id/ProceedToScreen33"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/ic_action_name"
                android:gravity="left|center_vertical"
                android:text="@string/TA3"
                android:textColor="@color/btn_text_color"
                android:textSize="@dimen/button_text_size" >
            </Button>

            <Button
                android:id="@+id/ProceedToScreen34"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/ic_action_name"
                android:gravity="left|center_vertical"
                android:text="@string/TA4"
                android:textColor="@color/btn_text_color"
                android:textSize="@dimen/button_text_size" >
            </Button>

            <View
                android:layout_width="match_parent"
                android:layout_height="2dip"
                android:background="@color/line_color" >
            </View>

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/copyright"
                android:textColor="@color/text_color"
                android:textSize="@dimen/small_text_size" >
            </TextView>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

问题在于,当我将手机转为横向时,按钮不会展开并仅填充屏幕的一半。

如何让我的按钮扩展以填充屏幕的其余部分?

4 个答案:

答案 0 :(得分:1)

您的按钮没问题,但是它们的父级(线性布局)没有屏幕那么大,因为它的宽度设置为wrap_content。只需更改为match_parent就可以了。

match_parent =设置维度以匹配父元素的维度。在API级别8中添加以弃用fill_parent。

希望这有帮助

答案 1 :(得分:0)

如何将LinearLayout宽度设置为match_parent

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:background="@color/background_color"
     android:gravity="center_horizontal"
     android:orientation="vertical"
     android:paddingBottom="@dimen/activity_vertical_margin"
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin" >

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left|center_vertical"
            android:text=""
            android:textColor="@color/text_color"
            android:textSize="@dimen/nav_text_size" >
        </TextView>

        <Button
            android:id="@+id/ProceedToScreen31"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_action_name"
            android:gravity="left|center_vertical"
            android:text="@string/TA1"
            android:textColor="@color/btn_text_color"
            android:textSize="@dimen/button_text_size" >
        </Button>

        <Button
            android:id="@+id/ProceedToScreen32"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_action_name"
            android:gravity="left|center_vertical"
            android:text="@string/TA2"
            android:textColor="@color/btn_text_color"
            android:textSize="@dimen/button_text_size" >
        </Button>

        <Button
            android:id="@+id/ProceedToScreen33"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_action_name"
            android:gravity="left|center_vertical"
            android:text="@string/TA3"
            android:textColor="@color/btn_text_color"
            android:textSize="@dimen/button_text_size" >
        </Button>

        <Button
            android:id="@+id/ProceedToScreen34"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_action_name"
            android:gravity="left|center_vertical"
            android:text="@string/TA4"
            android:textColor="@color/btn_text_color"
            android:textSize="@dimen/button_text_size" >
        </Button>

        <View
            android:layout_width="match_parent"
            android:layout_height="2dip"
            android:background="@color/line_color" >
        </View>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/copyright"
            android:textColor="@color/text_color"
            android:textSize="@dimen/small_text_size" >
        </TextView>
    </LinearLayout>
</ScrollView>

答案 2 :(得分:0)

设置android布局宽度以将父级填充为:

  android:layout_width="fill_parent"

请记住,无论您想要完全适合屏幕宽度,请将其布局宽度设置为fill_parent

答案 3 :(得分:0)

创建一个名为 layout-land 的文件夹现在创建一个与您为肖像创建的布局相同名称的布局,横向模式中每个组件的ID都相同。由于您正在使用“layout-land”文件夹,因此您的屏幕将处于横向模式。根据您的要求设计布局。现在当你改变显示模式时,android会在显示模式之间切换。谢谢 。玩得开心