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

标签 android android-layout

我正在尝试创建一个占屏幕底部大约 60% 的 ScrollView。屏幕处于横向模式, ScrollView 是此 Activity 中唯一的 View 元素。我可以通过强制布局边距(参见下面的 XML 代码)让它在 800x480 模拟器屏幕上工作,但是当我切换到更高分辨率的屏幕时, ScrollView 将占据屏幕的 60% 以上,因此它掩盖了一些背景图像的信息。有人可以建议如何将 View 保持在屏幕尺寸的 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>

最佳答案

<?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>

关于android - 如何调整 ScrollView 的大小以适合底部 60% 的屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10648594/

相关文章:

android - 如何根据方向更改屏幕布局?

android - Firebase身份验证和数据库链接

android - 在 FrameLayout 中的相对布局中创建和添加动态 View

Android Studio Google Map V2 fragment 渲染

android - android中的内阴影

Android 选项菜单总是关闭

java - 如何更改android 3.0 + 版本主题中的默认分隔(划分)?

java - 从自定义 View 到 Activity 进行通信

java - 在android中为TextView添加发光

Android:通过单击按钮增加和减少 textview 的 int 值