ScrollView 不适用于固定页脚
ScrollView Not working with fixed footer
我在屏幕上工作以显示固定页脚和另一个带有滚动视图的内容。但是内容没有滚动。
下面是我的代码
<?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>
下面是屏幕截图。我得到的
下面是我滚动后得到的图片
如上图所示,页脚没有贴在屏幕上。
当我使用上面的代码时,内容显示到屏幕大小。在我无法滚动查看剩余内容之后。不知道具体问题。请有人帮助我。
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>
我在屏幕上工作以显示固定页脚和另一个带有滚动视图的内容。但是内容没有滚动。
下面是我的代码
<?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>
下面是屏幕截图。我得到的
下面是我滚动后得到的图片
如上图所示,页脚没有贴在屏幕上。 当我使用上面的代码时,内容显示到屏幕大小。在我无法滚动查看剩余内容之后。不知道具体问题。请有人帮助我。
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>