我有一个带有标签式菜单(ViewPager
)的应用,我正在尝试为其添加启动画面。
标签正在按预期工作,但在显示标签之前我似乎无法运行SplashFragment
(直到用户通过身份验证,但这是另一个故事)
我的问题是以下代码有什么问题导致片段无法显示?
一些信息:
只有一个FragmentActivity
(MainActivity.java/activity_main.xml),其中包含ViewPager
。
这是我的activity_main.xml
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:padding="4dip"
android:gravity="center_horizontal"
android:layout_width="match_parent" android:layout_height="match_parent"
>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pager">
</android.support.v4.view.ViewPager>
<FrameLayout
android:id="@+id/frag_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
这是我MainActivity
的{{1}}函数:
onCreate()
答案 0 :(得分:1)
这只是一个布局问题。您的ViewPager
为layout_height="match_parent"
,因此在测量时,它会获得全屏高度。然后,当FrameLayout
被测量时,没有剩余空间,因此它的高度为0px。在您显示启动画面(ViewPager
,而不是GONE
)时隐藏INVISIBLE
或隐藏layout_height="wrap_content"
并使用权重来确定它们应该有多大(或者不要使用LinearLayout
)。