Shr*_*uti 5 android android-viewpager android-tablayout
我已经实现了这个例子.
但无法点击第二个标签.
我的xml文件看起来像
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/header"
android:orientation="horizontal">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="fill_parent"
android:layout_height="48dp"
android:layout_below="@+id/header"
android:background="@color/colorPrimary"
app:tabSelectedTextColor="#ffffff" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_marginTop="@dimen/padding"
android:layout_height="wrap_content"
android:layout_below="@id/tab_layout" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和主要活动
pager= (ViewPager) findViewById(R.id.view_pager);
tabLayout= (TabLayout) findViewById(R.id.tab_layout);
FragmentManager manager=getSupportFragmentManager();
BuyCurrencyPagerAdapter adapter=new BuyCurrencyPagerAdapter(manager);
//set Adapter to view pager
pager.setAdapter(adapter);
tabLayout.setupWithViewPager(pager);
pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setTabsFromPagerAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
请提出任何建议.
更新: setOnTabSelectedListener 已弃用,使用 addOnTabSelectedListener
尝试这个:
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener(){
@Override
public void onTabSelected(TabLayout.Tab tab) {
pager.setCurrentItem(tab.getPosition());
}
});
Run Code Online (Sandbox Code Playgroud)
如果它不适用于您的情况,请检查您的布局。可能有一个视图与您的TabLayout重叠。
小智 5
有时我认为问题可能是ViewPager位于TabLayout之上.你想把它放在下面这样:
<AppBarLayout>
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4687 次 |
| 最近记录: |