片段飞溅屏幕未显示在主要活动中

时间:2013-07-28 17:40:19

标签: android android-fragments

我有一个带有标签式菜单(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()

1 个答案:

答案 0 :(得分:1)

这只是一个布局问题。您的ViewPagerlayout_height="match_parent",因此在测量时,它会获得全屏高度。然后,当FrameLayout被测量时,没有剩余空间,因此它的高度为0px。在您显示启动画面(ViewPager,而不是GONE)时隐藏INVISIBLE或隐藏layout_height="wrap_content"并使用权重来确定它们应该有多大(或者不要使用LinearLayout)。