换行内容不起作用,滚动停止工作

时间:2018-02-23 14:55:33

标签: android xml scrollview tablet android-relativelayout

换行内容不起作用,滚动停止工作。

嗨,我正在开发适用于Android的应用程序,我注意到我的应用程序在智能手机中运行良好,但是在纵向模式下的平板电脑中它增加了一个巨大的空间,并且ScrollView停止工作。

智能手机的观点:

Phone view

平板电脑的观点:

Tablet view

我的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/descAbout"
            android:layout_marginBottom="10dp"
            android:textSize="16sp"
            android:layout_marginTop="10dp" />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_marginBottom="10dp"
            android:layout_height="wrap_content">
            <LinearLayout
                android:orientation="horizontal"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_alignParentBottom="true">
                <ImageView
                    android:id="@+id/imgSpaceApps"
                    android:layout_width="wrap_content"
                    android:layout_height="115dp"
                    android:adjustViewBounds="true"
                    android:layout_gravity="center"
                    android:src="@drawable/spaceApps" />
                <ImageView
                    android:id="@+id/imgNasaLogo"
                    android:layout_width="wrap_content"
                    android:layout_height="115dp"
                    android:adjustViewBounds="true"
                    android:layout_gravity="center"
                    android:src="@drawable/nasaLogo" />
            </LinearLayout>
        </RelativeLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblContact2"
            android:layout_marginBottom="5dp" />
        <TextView
            android:id="@+id/lblOurEmail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblContactUs"
            android:clickable="true"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblVisit"
            android:autoLink="web"
            android:layout_marginBottom="5dp" />
        <TextView
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblSpecialGreeting"
            android:layout_marginBottom="5dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url7"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url8"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url6"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url5"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url1"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url2"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url3"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url4"
            android:layout_marginBottom="10dp" />
        <TextView
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblPPrivacy"
            android:layout_marginBottom="5dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url9"
            android:layout_marginBottom="10dp" />
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_marginBottom="5dp"
            android:adjustViewBounds="true"
            android:layout_gravity="center"
            android:src="@drawable/supernova" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:textSize="14sp"
            android:text="@string/About6"
            android:layout_marginBottom="10dp" />
    </LinearLayout>
</ScrollView>

如果删除以下属性:

android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"

结果是一样的:

Other result

我在Android 6和7中进行测试,最低SDK为21。

有没有人遇到过这种情况?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

正如我在评论中所提到的,原因是保存图像的RelativeLayout。 与&#39; wrap_content&#39;一起使用时,RelativeLayout可能会导致意外结果。它实际上会尝试匹配它的父母,并在边缘布置孩子。

在这种情况下,RelativeLayout无论如何都是无用的;你可以删除它并稍微改变子LinearLayout的属性:

        ...
        <LinearLayout
            android:orientation="horizontal"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:gravity="center_horizontal"
            >
            <ImageView
                android:id="@+id/imgSpaceApps"
                android:layout_width="wrap_content"
                android:layout_height="115dp"
                android:adjustViewBounds="true"
                android:src="@drawable/spaceApps" />
            <ImageView
                android:id="@+id/imgNasaLogo"
                android:layout_width="wrap_content"
                android:layout_height="115dp"
                android:adjustViewBounds="true"
                android:src="@drawable/nasaLogo" />
        </LinearLayout>
        ...

答案 1 :(得分:1)

将其更改为:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/descAbout"
            android:layout_marginBottom="10dp"
            android:textSize="16sp"
            android:layout_marginTop="10dp" />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_marginBottom="10dp"
            android:layout_height="wrap_content">
            <LinearLayout
                android:orientation="horizontal"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_centerHorizontal="true">
                <ImageView
                    android:id="@+id/imgSpaceApps"
                    android:layout_width="wrap_content"
                    android:layout_height="115dp"
                    android:adjustViewBounds="true"
                    android:layout_gravity="center"
                    android:src="@drawable/spaceApps" />
                <ImageView
                    android:id="@+id/imgNasaLogo"
                    android:layout_width="wrap_content"
                    android:layout_height="115dp"
                    android:adjustViewBounds="true"
                    android:layout_gravity="center"
                    android:src="@drawable/nasaLogo" />
            </LinearLayout>
        </RelativeLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblContact2"
            android:layout_marginBottom="5dp" />
        <TextView
            android:id="@+id/lblOurEmail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblContactUs"
            android:clickable="true"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblVisit"
            android:autoLink="web"
            android:layout_marginBottom="5dp" />
        <TextView
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblSpecialGreeting"
            android:layout_marginBottom="5dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url7"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url8"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url6"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url5"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url1"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url2"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url3"
            android:layout_marginBottom="10dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url4"
            android:layout_marginBottom="10dp" />
        <TextView
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="@string/lblPPrivacy"
            android:layout_marginBottom="5dp" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:autoLink="web"
            android:text="@string/url9"
            android:layout_marginBottom="10dp" />
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_marginBottom="5dp"
            android:adjustViewBounds="true"
            android:layout_gravity="center"
            android:src="@drawable/supernova" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:textSize="14sp"
            android:text="@string/About6"
            android:layout_marginBottom="10dp" />
    </LinearLayout>
</ScrollView>