带有TabLayout的ViewPager不显示片段

时间:2017-04-09 06:46:53

标签: android android-layout android-viewpager android-xml android-tablayout

我正在尝试创建如下截图的布局:

Layout Screenshot

以下是相同的布局XML:

  override public function render(){
  var sList:String = this.getListString();

  return jsx('
    <div style={{margin:"10px", border:"black 2px solid"}}>
     ${ sList }
    </div>
  ');
}
private function getListString():String{
  var result:String = '';
  for (i in 0 ... 10) {
    result += ('<div>'+i+'</div>');
  }
  return ('<div style={{margin:"10px", border:"black 2px solid"}}>'+result+'</div>');
}

我的问题是带有ViewPager的TabLayout,我无法使用任何FragmentLayout来扩充ViewPager。如果同一个TabLayout和ViewPager我将它复制到一个新的布局,我可以给FragmentLayout充气甚至滑动工作。

因此,我只能在活动中使用TabLayout和ViewPageralone,并且不能在它们之上有任何其他视图。

2 个答案:

答案 0 :(得分:2)

尝试将android:fillViewport="true"添加到NestedScrollView

你的Xml中的

<android.support.v4.widget.NestedScrollView
   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"
   android:fillViewport="true"   //add this
   app:layout_behavior="@string/appbar_scrolling_view_behavior">

   <android.support.v4.view.ViewPager
       android:id="@+id/viewpager"
       android:layout_width="match_parent"
       android:layout_height="match_parent"/>  //change height to match parent
</android.support.v4.widget.NestedScrollView>

答案 1 :(得分:0)

在你的活动中使用它oncreate()

Math.random()

并将以下方法和适配器复制到您的活动

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
    tabLayout.setupWithViewPager(viewPager);