ScrollView不使用固定页脚

时间:2018-05-28 05:49:24

标签: android android-scrollview android-relativelayout

我在屏幕上工作以显示固定的页脚和另一个带有scrollview的内容。但内容不是滚动。

下面是我的代码

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relateId"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_alignParentTop="true"
        android:layout_gravity="center"
        android:background="#689F38"
        android:gravity="center">

        <TextView
            android:id="@+id/header_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="header_msg"
            android:textColor="#FFFFFF"
            android:textSize="25sp" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:background="#689F38"
        android:gravity="center">

        <TextView
            android:id="@+id/footer_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="footer"
            android:textColor="#FFFFFF"
            android:textSize="25sp" />
    </RelativeLayout>

    <ScrollView
        android:id="@+id/scroll_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/footer"
        android:layout_below="@+id/header"
        android:fillViewport="true">

        <LinearLayout
            android:id="@+id/myLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FFFFFF"
            android:fillViewport="true"
            android:orientation="vertical">

            <TextView
                android:id="@+id/bodytext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="@string/large_text"
                android:textColor="#F44336"
                android:textSize="25sp" />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>
下面是屏幕截图。我得到了 enter image description here

下面是滚动后我得到的图片

enter image description here

如上图所示,foorter没有粘在屏幕上。 当我使用上面的代码时,内容显示屏幕大小。之后我无法滚动查看剩余内容。不知道确切的问题。请有人帮助我。

1 个答案:

答案 0 :(得分:2)

sample.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:ads="http://schemas.android.com/apk/res-auto"
              xmlns:tools="http://schemas.android.com/tools"
              android:id="@+id/relateId"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_gravity="center"
        android:background="#689F38"
        android:gravity="center">

        <TextView
            android:id="@+id/header_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="header_msg"
            android:textColor="#FFFFFF"
            android:textSize="25sp"/>
    </RelativeLayout>

    <ScrollView
        android:id="@+id/scroll_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        >

        <LinearLayout
            android:id="@+id/myLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:fillViewport="true"
            android:orientation="vertical">

            <TextView
                android:id="@+id/bodytext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="@string/large_text"
                android:textColor="#F44336"
                android:textSize="25sp"/>
        </LinearLayout>
    </ScrollView>

    <RelativeLayout
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_gravity="center"
        android:background="#689F38"
        android:gravity="center">

        <TextView
            android:id="@+id/footer_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="footer"
            android:textColor="#FFFFFF"
            android:textSize="25sp"/>
    </RelativeLayout>

</LinearLayout>

根据您的要求进行修改

下面是我使用上面的xml布局测试的完整代码。

public class ActivitySample extends BaseProject {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sample);
    }
}

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="in.kpis.structure">

    <application
        android:name="in.kpis.structure.appClasses.ApplicationContext"
        android:icon="@mipmap/ic_launcher"
        android:theme="@style/AppTheme"
        >
        <activity android:name=".appClasses.activities.ActivitySample">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

    </application>
</manifest>
res>values>styles.xml

中的

<resources xmlns:tools="http://schemas.android.com/tools">

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
 //....other styles
</resources>