标签: android-tablayout

在TabLayout中更改TextView的填充

我想在TabLayout中更改textview上的填充.我有一个名为Subcategories的标签.这是破线包装成两行.有没有办法做到这一点?

有关旧TabHost视图的答案,我正在使用Google的Material Design库使用的TabLayout,使用android.support.design.widget.TabLayout.

对于TabHost:如何将填充添加到选项卡标签?

tabs android material-design android-tablayout

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

TabLayout使用活动而不是片段

是否可以使用多个活动而不是片段在应用程序中创建滑动的TabLayout?我有两个活动,我正在尝试创建一个使用可跳过的TabLayout的应用程序.我正在网上搜索但还找不到一个.如果可以构建,有人可以提供一些链接或教程吗?

android android-fragments android-activity android-tablayout

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

Android TabLayout setOnTabSelectedListener无法正常工作

假设我有一个MainActivity类,其中TabLayoutand和ViewPager用相应的4页初始化。

MainActivity.class

public class MainActivity extends AppCompatActivity {
    private SectionsPagerAdapter mSectionsPagerAdapter;
    private ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
        // Set up the ViewPager with the sections adapter.
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mSectionsPagerAdapter);

        // TabLayout
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
        tabLayout.setupWithViewPager(mViewPager);
    }

    public class SectionsPagerAdapter extends FragmentPagerAdapter {
        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public Fragment getItem(int position) {
            // …
Run Code Online (Sandbox Code Playgroud)

java android android-tablayout

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

单击选项卡布局根本不起作用

我已经实现了这个例子.

但无法点击第二个标签.

我的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)

请提出任何建议.

android android-viewpager android-tablayout

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

禁用tablayout中的一个标签?

我需要为我正在开发的应用程序选项卡.所以我最终得到了tablayout,它包含很少的标签.代码如下:


private void setupNavTab() {
    int[][] states = new int[][]{
            new int[]{android.R.attr.state_selected},
            new int[]{-android.R.attr.state_selected},
            new int[]{-android.R.attr.state_enabled}
    };

    int[] colors = new int[]{
            ContextCompat.getColor(getActivity(), R.color.cricut_selected_green),
            ContextCompat.getColor(getActivity(), R.color.nav_bar_unselected_content),
            ContextCompat.getColor(getActivity(), R.color.edit_button_text_color_inactive)
    };
    ColorStateList cslist = new ColorStateList(states, colors);

    if (tabs != null) {
        tabs.removeAllTabs();
        tabs.setTabTextColors(cslist);

        firstTab = tabs.newTab().setTag(TAB_FIRST);
        View customFirstTabView = LayoutInflater.from(getActivity()).inflate(R.layout.tab_item_layout, null, false);
        firstTabView = (TextView) customFirstTabView.findViewById(R.id.textContainer);

        firstTabView.setText(R.string.first);
        firstTabView.setTextColor(cslist);
        firstTab.setCustomView(customFirstTabView);

        secondTab = tabs.newTab().setTag(TAB_SECOND);
        View customSecondView = LayoutInflater.from(getActivity()).inflate(R.layout.tab_item_layout, null, false);
        secondTabView = (TextView) customSecondView.findViewById(R.id.textContainer);

        secondTabView.setText(R.string.second);
        secondTabView.setTextColor(cslist);
        secondTab.setCustomView(customSecondView);

        thirdTab = tabs.newTab().setTag(TAB_THIRD);
        View customThirdTabView
                = …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport android-tablayout

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

TabLayout Indicator自定义

我一直在搜索如何将Tablayout中的指示器更改为圆形,像这样 在此处输入图片说明

但是我不知道该怎么做,没有任何帮助!

android android-tablayout

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

android.support.design.widget.TabLayout与ViewPager无法正常工作

android.support.design.widget.TabLayout与ViewPager无法正常工作如果我设置了tabLayout.setupWithViewPager(viewPager); 然后tablayout视图没有显示请找到附加的屏幕截图.

在此输入图像描述

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="false"
android:orientation="vertical"
tools:context=".home.HomeActivity"
tools:showIn="@layout/activity_home">

<android.support.design.widget.TabLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:elevation="6dp"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/tab_layout"/>
Run Code Online (Sandbox Code Playgroud)

片段代码:

TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);       tabLayout.addTab(tabLayout.newTab().setText(getActivity().getResources().getText(R.string.feeds)));        tabLayout.addTab(tabLayout.newTab().setText(getActivity().getResources().getText(R.string.following)));        tabLayout.addTab(tabLayout.newTab().setText(getActivity().getResources().getText(R.string.you)));
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
    final ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager);
    final PageAdapter adapter = new PageAdapter(getChildFragmentManager(), 3);
    viewPager.setOffscreenPageLimit(3);
    viewPager.setAdapter(adapter);
    tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)

删除"tabLayout.setupWithViewPager(viewPager);"时 视图工作正常.但是我需要在单击相应选项卡时导航相应的片段.

在此输入图像描述

android android-viewpager android-tablayout

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

如何使Tablayout指标和文本的宽度相同

在我的应用程序中,我正在使用tablayout.一切正常,但我想tablayout文本和指标线都应该相同的大小.

但左右指示器宽度占用额外空间.如何删除额外的空间或使其宽度相等.

需要的

谢谢

android android-layout android-tablayout

5
推荐指数
0
解决办法
1813
查看次数

如何在Android中设置TabLayout的标签高度?

我在Android中有这个TabLayout,并希望使标签比默认值更高(48dp)

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

这是Style Theme.Zhaw.TabLayout:

<style name="Theme.Zhaw.TabLayout" parent="Widget.Design.TabLayout">
    <item name="tabIndicatorColor">@color/text_white</item>
    <item name="tabIndicatorHeight">4dp</item>
    <item name="tabPaddingStart">6dp</item>
    <item name="tabPaddingEnd">6dp</item>
    <item name="tabBackground">@color/colorPrimary</item>
    <item name="tabTextAppearance">@style/Theme.Zhaw.TabLayoutText</item>
    <item name="tabSelectedTextColor">@color/text_white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

tabIndicatorHeight可以设置选项卡中小指示符(活动选项卡)的高度.但是我们如何设置标签本身的高度呢?

android android-tablayout

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

是否有任何方法在TabLayout中使用SpannableString?

我想用两种不同的文字大小设置TabLayout的标题.如下图所示.或者反过来实现这一目标!

在此输入图像描述

我尝试过使用SpannableString,如下所示.这个代码片段在for循环中直到5!

SpannableString mSpannableString=  new SpannableString(s);
mSpannableString.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);// set color
mTabLayout.getTabAt(i).setText(mSpannableString);
Run Code Online (Sandbox Code Playgroud)

但正如CommonaSware所提到的,setText()并没有采用丰富的内容!

android text-size android-tablayout

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