相关疑难解决方法(0)

使用Tab与新ToolBar(AppCompat v7-21)

我正在使用带有选项卡的SupportActionBar和一个自定义ActionBar主题(使用http://jgilfelt.github.io/android-actionbarstylegenerator/创建),仅在用户展开搜索视图时显示选项卡.

public boolean onMenuItemActionExpand(MenuItem item) {
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我从ActionBar迁移到工具栏.我的应用程序确实需要支持API 9.

有没有办法使用此代码添加标签?:

Toolbar toolbar = (Toolbar) findViewById(R.id.new_actionbar);
setSupportActionBar(toolbar);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Run Code Online (Sandbox Code Playgroud)

如果可能,我如何使用我的自定义主题或样式工具栏?

文档说这已被弃用,并建议使用不同类型的导航.但我不知道Android中具有相同功能的任何其他组件.

一些帮助?

tabs android android-appcompat android-support-library android-actionbar-compat

70
推荐指数
2
解决办法
8万
查看次数

SlidingTabLayout适合屏幕

我正在使用谷歌的SlidingTabLayout.由于我只有3个标签要显示,我看到最后一个标签后的空格.请截图如下. 在此输入图像描述

有人可以解释我如何使标签适合整个屏幕.谢谢你的时间.

android

44
推荐指数
5
解决办法
2万
查看次数

TabLayout中的选项卡未填满整个ActionBar

我正在使用a TabLayout使用TabLayoutViewPager显示ActionBar tabs指南Google Play样式标签,但是我的标签被压缩到ActionBar的左侧,如下所示:


我希望他们以相同的宽度占据整个酒吧.我只对指南做了一些小改动:

在activity_main.xml中创建了一个样式来显示ActionBar:

<android.support.design.widget.TabLayout
  android:id="@+id/sliding_tabs"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  style="@style/AppTheme"
  app:tabMode="scrollable" />
Run Code Online (Sandbox Code Playgroud)

这是styles.xml代码:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <item name="windowActionBar">true</item>
  <item name="tabIndicatorColor">#ffff0030</item>
</style>
Run Code Online (Sandbox Code Playgroud)

此外,我MainActivity现在扩展AppCompatActivity而不是FragmentActivity.

java tabs android

23
推荐指数
2
解决办法
3万
查看次数

如何使TabLayout占据屏幕的全宽?

我的标签TabLayout占据了屏幕的中心,即使tabMaxWidth = "0dp"按照Adam John的回答添加,也没有填满整个宽度

这是我希望通过制表符扩展到填充屏幕,如下所示:

在此输入图像描述

但我得到的是:

在此输入图像描述

我的XML看起来像这样:

<android.support.design.widget.TabLayout
            android:id="@+id/tl_contact_type"
            style="@style/tabWidgetLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed"/>    
Run Code Online (Sandbox Code Playgroud)

style.xml for tabWidgetLayout

<style name="tabWidgetLayout" parent="Widget.Design.TabLayout">
            <item name="tabIndicatorColor">@color/colorTealAccent</item>
            <item name="tabIndicatorHeight">@dimen/default_corner_radius_medium</item>
            <item name="tabBackground">?attr/selectableItemBackground</item>
            <item name="android:background">@color/colorBrandPrimaryDark</item>
            <item name="tabSelectedTextColor">@color/color_tab_selected_text</item>
            <item name="tabTextAppearance">@style/tabWidgetLayoutTextAppearance</item>
        </style>
Run Code Online (Sandbox Code Playgroud)

任何帮助解决这个问题非常感谢.

android android-layout android-styles android-tablayout

7
推荐指数
1
解决办法
7893
查看次数

TabLayout在横向上没有显示gravity_fill和mode_fixed

我正在使用TabLayoutViewPager一起做一个标签式viewpager.

我有景观,其中一个怪异的行为TabLayout.GRAVITY_FILL,并TabLayout.MODE_FIXED似乎不工作,无论在Java或XML设定,(他们的肖像做就好了).

然而!当我做三个标签时,一切都很好!

问题在于两个标签 - 在横向上.

我的活动:

public class TabbedViewPager extends AppCompatActivity {
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tabbed_viewpager);

        initTabLayout1();
    }

    public void initTabLayout1() {
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);

        TabLayout.Tab tab1 = tabLayout.newTab();
        tab1.setText("Tab 1");
        tabLayout.addTab(tab1);
        TabLayout.Tab tab2 = tabLayout.newTab();
        tab2.setText("Tab 2");
        tabLayout.addTab(tab2);
        //TabLayout.Tab tab3 = tabLayout.newTab();
        //tab3.setText("Tab 3");
        //tabLayout.addTab(tab3);
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
        tabLayout.setTabMode(TabLayout.MODE_FIXED);

        viewPager = (ViewPager) findViewById(R.id.view_pager);
        final TabbedPagerAdapter adapter = new TabbedPagerAdapter(getSupportFragmentManager(),
                tabLayout.getTabCount());
        viewPager.setAdapter(adapter);

        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-viewpager android-tablayout

5
推荐指数
2
解决办法
1713
查看次数

如何在tablayout中设置2个选项卡的宽度相等

我在 中添加了 2 个选项卡TabLayout,以下是我的代码。

<com.google.android.material.tabs.TabLayout
    android:id="@+id/tabLayout"
    style="@style/AppTabLayout"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_gravity="center"
    app:tabBackground="@drawable/tab_selector_statistics"
    android:background="@drawable/tab_statistics"
    app:tabContentStart="24dp"
    app:tabGravity="fill"
    app:tabMode="fixed"
    app:tabSelectedTextColor="@color/white"
    app:tabTextColor="@color/black"
    app:layout_constraintBottom_toBottomOf="@+id/view5"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/view5"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true" />
Run Code Online (Sandbox Code Playgroud)

我得到以下输出。

在此处输入图片说明

但我希望标签占据屏幕的整个宽度,如下所示。

在此处输入图片说明

以下是我AppTabLayoutstyles.xml文件中定义的样式。

<style name="AppTabLayout" parent="Widget.Design.TabLayout">
    <item name="tabIndicatorColor">@null</item>
    <item name="tabIndicatorHeight">1dp</item>
    <item name="tabPaddingStart">16dp</item>
    <item name="tabPaddingEnd">16dp</item>
    <item name="tabSelectedTextColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-styles android-tablayout

5
推荐指数
1
解决办法
4025
查看次数

android选项卡布局设计库

我在新的android.support.design.widget包中使用TabLayout.

<android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabGravity="fill"
        app:tabIndicatorColor="@android:color/white"
        app:tabMode="fixed" />
Run Code Online (Sandbox Code Playgroud)

但在平板电脑上他们看起来像

在此输入图像描述

如何拉伸它们以填满整个宽度.谢谢.

tabs android

3
推荐指数
1
解决办法
991
查看次数