想要按钮在android中的滚动视图中使用全屏

时间:2016-02-17 15:49:04

标签: android android-layout scrollview android-layout-weight

我想在我的活动中放置9个按钮,有两个条件:

1.如果屏幕很小,按钮会滚动。

2.如果屏幕足够大以适应所有这些,那么它们会被拉伸以填满屏幕。

我试过但它不起作用。谢谢。

screenshot of layout     

<include
    android:id="@+id/toolbar"
    layout="@layout/appbar"></include>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/toolbar">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#fff0fd"
            android:orientation="vertical"
            android:layout_margin="8dp">



            <Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/First_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button2"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Second_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button3"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:onClick="onButtonClick"
                android:text="@string/Third_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button4"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Forth_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button5"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Fifth_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button6"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Sixth_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button7"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Seventh_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button8"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Eighth_Semester"
                android:textStyle="bold" />

            <Button
                android:id="@+id/button9"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="@string/Gate"
                android:textStyle="bold" />

        </LinearLayout>
    </ScrollView>
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

您必须在res文件夹中创建名为layout-small,layout-large的文件夹,为此创建不同的布局,如下所述:Supporting Multiple Screens

名为'layout'的文件夹将用于课程。但是,当你创建一个名为layout-small的文件夹时,如果屏幕尺寸低于470dp x 320dp,那么将使用该文件夹,这是layout-normal的最小分辨率。

对于拉伸,请在线性布局中使用布局权重和权重,以获得看起来可以放在预览中的布局。

删除权重参数,并将layout_height设置为wrap_content,如下所示:

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

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff0fd"
            android:orientation="vertical"
            android:layout_margin="8dp">

        <Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/First_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Second_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:onClick="onButtonClick"
                android:singleLine="true"
                android:text="@string/Third_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Forth_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Fifth_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button6"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Sixth_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button7"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Seventh_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button8"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Eighth_Semester"
                android:textStyle="bold"/>

        <Button
                android:id="@+id/button9"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="@string/Gate"
                android:textStyle="bold"/>

    </LinearLayout>
</ScrollView>

您可以在编辑器中预览不同的屏幕分辨率,以确定在此处使用或不使用滚动视图的内容:

Multiple screen previews