在我的Android应用程序中,我想在PagerSlidingTab and ViewPager
内实现ScrollView
。布局文件如下所示。我面临着奇怪的问题。它仅在顶部显示标签条,并且屏幕上的ViewPager
片段内容不显示任何内容。我不知道hwat是什么问题。如果我从layotu删除ScreollView然后它完美地工作但我想要ScrollView
内的所有内容。请帮我解决这个问题。
布局:
<?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" >
<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.danzim.diamond.classes.KenBurnsView
android:id="@+id/newsHeaderKenburn"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_alignParentTop="true"
android:background="@color/black" />
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/newsTabs"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_below="@+id/newsHeaderKenburn"
android:background="@drawable/background_news_tab"
app:pstsDividerColor="@color/transparent"
app:pstsIndicatorColor="@android:color/white"
app:pstsTextAllCaps="true" />
<android.support.v4.view.ViewPager
android:id="@+id/newsPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/newsTabs" />
</RelativeLayout>
</ScrollView>
答案 0 :(得分:5)
我的代码中有一个小错误。我更改了ScrollView
代码及其正常工作。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
只需将android:fillViewport="true"
添加到ScrollView
元素即可。我从这个链接得到了答案:Is it possible to have a ViewPager inside of a ScrollView?
答案 1 :(得分:2)
简单的解决方案是添加android:fillViewport =&#34; true&#34;滚动视图,但使用此布局需要考虑更深层次的问题。
您遇到的问题是ScrollView包装其内容并采用&#34;所有权&#34;调整其内部元素的大小。因此,它调整了相对布局的大小,使其仅适合PagerSlidingTabStrip的标题,因为它是屏幕布局时的所有信息。尚未添加ViewPager的内容,因此在调整相对布局时不会考虑这一点。
建议的解决方案是将scrollview放在viewPager Control中的每个元素内。所以你要在我假设的ViewPage中添加片段?只需确保ScrollView是每个布局中的topMost控件。如果你想在ViewPager中放置一个listview,ListViews和ScrollViews彼此不喜欢,你只能拥有一个或者你不能在ScrollView中滚动的任何其他内容,那么以后会出现意想不到的行为。
希望这至少帮助了你。如果您需要更多相关信息,请告诉我。