Android 带选项卡的操作栏
您好,我正在尝试在Android 带选项卡的操作栏,android,android-actionbar,android-toolbar,android-tablayout,Android,Android Actionbar,Android Toolbar,Android Tablayout,您好,我正在尝试在操作栏中放置一个表格布局,而不是在其下方。有可能吗 我四处搜索,找到了ActionBar.Tab类,但它已经被弃用了。还有其他想法吗?我使用下面的库作为示例代码中的选项卡。(将该行添加到应用程序的渐变中) 然后,您可以使用如下工具栏布局: <include android:id="@+id/toolbar_main" layout="@layout/toolbar_tabs" /> public class TabsAdapter
操作栏
中放置一个表格布局
,而不是在其下方。有可能吗
我四处搜索,找到了
ActionBar.Tab
类,但它已经被弃用了。还有其他想法吗?我使用下面的库作为示例代码中的选项卡。(将该行添加到应用程序的渐变中)
然后,您可以使用如下工具栏布局:
<include
android:id="@+id/toolbar_main"
layout="@layout/toolbar_tabs" />
public class TabsAdapter extends FragmentPagerAdapter {
private List<YourModel> mObjects;
public TabsAdapter(FragmentManager fm, List<YourModel> mObjects) {
super(fm);
this.mObjects = mObjects;
}
@Override
public Fragment getItem(int position) {
return new YourPagerFragment();
}
@Override
public int getCount() {
return mObjects.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mObjects.get(position).getName();
}
}
ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
PagerSlidingTabStrip mTabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
TabsAdapter mAdapter = new TabsAdapter(getSupportFragmentManager(), objects);
mViewPager.setAdapter(mAdapter);
mTabs.setViewPager(mViewPager);
将viewpager添加到活动的布局:(在此处添加工具栏)
祝您好运。您可以使用后退按钮和选项卡布局创建自己的布局。您可以在顶部使用此布局,而无需操作栏。在后退时,单击以编程方式调用
onBackPressed()
方法
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_back" />
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
是的,但我仍然希望使用“后退”按钮导航回上一个活动
@DanielNugent如果您尝试在工具栏中添加TableLayout,只需将该toobar设置为操作栏,并将属性设置为“后退”按钮getSupportActionBar()。setDisplayHomeAsupaned(true);getSupportActionBar().setHomeButtonEnabled(true);好主意,但是back按钮和system back按钮不一样。谢谢你的回答!您可以从此处下载后退按钮图标。使用SelectableItemBackgroundLess作为背景和材质图标,您的backButton将看起来像系统后退按钮。我永远不会忘记:)。让我感到困扰的是,该应用程序将在不同版本的Android上运行,因此每个版本的“后退”按钮都会有所不同。如果您使用工具栏,那么它看起来就像所有版本的AndroidI am中使用support ActionBar的材料一样。好的,谢谢你的帮助!真的没有必要再为选项卡使用第三方库了。最好使用设计库中的表格布局:你是对的。但在我的项目中,我需要一些标签上的说明,所以我使用了这个库。我把我的项目代码。
Toolbar mToolbar = (Toolbar)findviewById(R.id.toolbar_main);
setSupportActionBar(mToolbar);
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
/>
public class TabsAdapter extends FragmentPagerAdapter {
private List<YourModel> mObjects;
public TabsAdapter(FragmentManager fm, List<YourModel> mObjects) {
super(fm);
this.mObjects = mObjects;
}
@Override
public Fragment getItem(int position) {
return new YourPagerFragment();
}
@Override
public int getCount() {
return mObjects.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mObjects.get(position).getName();
}
}
ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
PagerSlidingTabStrip mTabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
TabsAdapter mAdapter = new TabsAdapter(getSupportFragmentManager(), objects);
mViewPager.setAdapter(mAdapter);
mTabs.setViewPager(mViewPager);
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_back" />
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>