我正在尝试创建一个从底部占据屏幕大约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>
答案 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>