Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带选项卡的操作栏_Android_Android Actionbar_Android Toolbar_Android Tablayout - Fatal编程技术网

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>