Android Tabview不会在触摸时更改选项卡
我环顾了谷歌和stack overflow,想找到一个解决方案,但我似乎不明白为什么我不能让它工作,我遵循我所看到的一切。 我这里的问题是,每当我触摸一个标签时,它不会变为我选择的标签。现在,我正在按照[This Stackoverflow post][1]中的说明进行操作,请注意,当完全刷卡时,标签可以正常工作 以下是选项卡视图的XMLAndroid Tabview不会在触摸时更改选项卡,android,tabs,touch,Android,Tabs,Touch,我环顾了谷歌和stack overflow,想找到一个解决方案,但我似乎不明白为什么我不能让它工作,我遵循我所看到的一切。 我这里的问题是,每当我触摸一个标签时,它不会变为我选择的标签。现在,我正在按照[This Stackoverflow post][1]中的说明进行操作,请注意,当完全刷卡时,标签可以正常工作 以下是选项卡视图的XML <?xml version="1.0" encoding="utf-8"?> <android.support.design.wid
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="scrollable"
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" />
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tabs"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
同样在我的主要活动中,我有这个方法来创建我的选项卡。(本文编辑的选项卡名和片段名)
同样在主要活动中,我有这个,但它似乎不工作点击。虽然我检查了Log.d,但它在刷卡时起作用
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
Log.d("Tab", String.valueOf(tab.getPosition()));
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
在父级或坐标布局中使用相对布局,如下代码所示
将
TabLayout
移动到ViewPager的底部ViewPager
覆盖了TabLayout
,因为CoordinatorLayout
基本上就像一个FrameLayout
用于没有行为的儿童。实际上,您可以将表格布局
放入查看页面
中,它将处理定位TableLayout
将负责自身设置,因此您可以省略setupWithViewPager()
调用。实际上,如果这些是CoordinatorLayout
中仅有的内容,那么您就不会真正使用CoordinatorLayout
来设计它。如果是这样的话,您可以将其更改为垂直线性布局
;tyr尝试在代码行上方添加代码,但代码没有更改@MikeM我也试过你的解决方案。它可以工作,但选项卡视图将我的可回收视图向下推
private void setupViewPager(ViewPager viewPager) {
SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
adapter.addFragment(new 1_Fragment(),"tab1");
adapter.addFragment(new 2_Fragment(),"tab2");
adapter.addFragment(new 3_Fragment(),"tab3");
adapter.addFragment(new 4_Fragment(),"tab4");
adapter.addFragment(new 5_Fragment(),"tab5");
adapter.addFragment(new 6_Fragment(),"tab6");
adapter.addFragment(new 7_Fragment(),"tab7");
viewPager.setAdapter(adapter);
}
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
Log.d("Tab", String.valueOf(tab.getPosition()));
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_white"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="5dp"
android:background="@color/color_light_blue_1"
android:paddingRight="2dp"
android:paddingTop="2dp"
app:tabBackground="@drawable/tab_selector_products"
app:tabIndicatorHeight="0dp"
app:tabTextAppearance="@style/MineCustomTabText" />
</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"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tabs"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="scrollable"
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget" />
</android.support.design.widget.CoordinatorLayout>