如何调整ScrollView的大小以适应底部60%的屏幕?

时间:2012-05-18 07:38:58

标签: android android-layout

我正在尝试创建一个从底部占据屏幕大约60%的ScrollView。屏幕处于横向模式,滚动视图是此活动中唯一的视图元素。我可以通过强制布局边距使其在800x480仿真器屏幕上工作(请参阅下面的XML代码)但是当我切换到更高分辨率的屏幕时,滚动视图将占据屏幕的60%以上,因此它会覆盖一些有关背景图像的信息。有人可以建议如何将视图保持在屏幕尺寸的60%左右,并且最好能够处理不同的屏幕尺寸吗?

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/safety_base"
    android:orientation="vertical"
    android:padding="0dp" >

    <ScrollView
        android:id="@+id/scrollSafety"
        android:layout_width="435dp"
        android:layout_marginBottom="10dp" 
        android:layout_marginTop="120dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:scrollbars="none" >

        <RelativeLayout
            android:id="@+id/layoutSafety"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/imgSafety"
                android:contentDescription="@string/imgSafety_desc"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:src="@drawable/safety_info" />

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"

android:orientation="vertical"
android:padding="0dp" >

<ScrollView
    android:id="@+id/scrollSafety"
    android:layout_width="fill_parent"
    android:layout_height="0px"
    android:layout_weight="3"
    android:background="@android:color/background_light"
    android:scrollbars="none" >

    <RelativeLayout
        android:id="@+id/layoutSafety"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imgSafety"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:contentDescription="Blah blah"
            android:src="@drawable/icon" />
    </RelativeLayout>
</ScrollView>

<FrameLayout 
    android:layout_width="fill_parent"
    android:layout_height="0px"
    android:layout_weight="2"
    android:visibility="invisible"
    />
</LinearLayout>