标签: android-tablayout

Android TabLayout:均匀分配

我正在查看Google IO中使用的名为SlidingTabLayout的Google类.在该类中,有一个名为setDistributeEvenly的方法,它允许所有这些选项卡在屏幕上具有均匀分布 - 每个选项卡具有相同的大小:Align-Center SlidingTabLayout

我正在尝试使用官方tabLayout类:https://developer.android.com/reference/android/support/design/widget/TabLayout.html

但似乎没有一种方法可以使所有标签均匀分布.

我错过了什么,课堂上有一个让我这样做的方法吗?

android android-tablayout

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

如何在选项卡式活动中的每个选项卡中添加不同的Activtity

我已经创建了选项卡式活动,请帮助我如何在可滑动的TabLayout中的不同选项卡中显示不同的布局.我们如何在每个选项卡中添加不同的活动,例如,当我们在一个布局中添加图像,然后将屏幕更改布局滑动到另一个布局时.

以下是我的代码;

主要活动

package com.example.saeed.salehkhana;

import java.util.Locale;

import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.FragmentPagerAdapter;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    /**
     * The {@link android.support.v4.view.PagerAdapter} that will provide
     * fragments for each of the sections. We use a
     * {@link FragmentPagerAdapter} derivative, which will keep every
     * loaded fragment in memory. If this becomes too memory intensive, …
Run Code Online (Sandbox Code Playgroud)

android android-fragmentactivity android-tablayout

7
推荐指数
2
解决办法
8107
查看次数

带有活动标签的Android TabLayout始终位于中心位置,就像在Play报亭应用中一样

android.support.design.widget.TabLayout,如何使活动标签始终显示在中心,就像在Play报亭应用程序中一样,如下所示.

第一个和最后一个选项卡也应出现在中心.

报摊

报摊

我尝试在TabLayout上使用填充.它不起作用.这是我写的代码:

<android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:tabIndicatorColor="@color/yellow"
            app:tabSelectedTextColor="@android:color/white"
            app:tabTextColor="#EEE"
            app:tabMode="scrollable"
            android:gravity="bottom"
            android:clipToPadding="false"
            android:paddingLeft="90dp"
            android:paddingRight="90dp"
            />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,tabIndicator也将从左移90dp.它应该保持在独立于填充的中心.

android material-design android-tablayout google-play-newsstand

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

如何在TabLayout中获取Tab的视图?

我想在TabLayout中找到Tab的视图,以便我可以将它传递给另一个函数.我不确定如何找到视图. myTabLayout.getTabAt(0).getCustomView()返回null.

我如何获得视图?

TabLayout tabLayout = (TabLayout) rootView.findViewById(R.id.tab_layout_main);
tabLayout.addTab(tabLayout.newTab().setText("Page1"));
tabLayout.addTab(tabLayout.newTab().setText("Page2"));

viewPager = (ViewPager) rootView.findViewById(R.id.pager_main);
pagerAdapter = new MyPagerAdapter(getActivity(), getChildFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(pagerAdapter);
Run Code Online (Sandbox Code Playgroud)

android android-layout android-tabs android-tablayout

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

如何在TabLayout中设置图标大小?

这是我的代码:

private TabLayout tabLayout;
private int[] tabIcons = {
        R.mipmap.ic_compass,
        R.mipmap.ic_place,
        R.mipmap.ic_passport,
        R.mipmap.ic_setting
};


...
tabLayout.getTabAt(0).setIcon(tabIcons[0]);
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
tabLayout.getTabAt(2).setIcon(tabIcons[2]);
tabLayout.getTabAt(3).setIcon(tabIcons[3]);
Run Code Online (Sandbox Code Playgroud)

图标的大小取决于图像大小.我怎么能调整它?

android android-tablayout

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

Android标签布局不占用自定义视图的全宽度

Android TabLayout tabPaddingTop和tabPaddingBottom未被删除

请参阅上述问题.

即使我将我的设计库更新为"23.2.0",Tab布局也搞砸了.

下图是我的标签布局.

Xml部分: -

<android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabIndicatorColor="@android:color/white"
    app:tabIndicatorHeight="@dimen/dp2"
    app:tabMode="fixed"
    app:tabSelectedTextColor="@android:color/white"
    app:tabTextAppearance="@style/MyCustomTabTextAppearance" />
Run Code Online (Sandbox Code Playgroud)

样式xml: -

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/color_156084</item>
</style>

<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
    <item name="android:textSize">@dimen/sp14</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我已将padding设置为-1dp,甚至将tabGravity填充,但没有任何工作.

此代码曾用于早期版本,但现在如果我降级它,我在TintManager上得到一个没有类def找到错误.

在此输入图像描述

android androiddesignsupport android-tablayout

7
推荐指数
3
解决办法
3093
查看次数

如何使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
查看次数

在PagerAdapter上调用notifyDataSetChanged后,TabLayout会滚动到未知位置

我有一个示例项目TabLayoutPagerAdapter.奇怪的事情发生了TabLayout当我打电话pagerAdapter.notifyDataSetChanged();后,tabLayout.setupWithViewPager(viewPager);

TabLayout滚动到未知的x位置,因此当前选项卡不可见.但是,如果我向左滚动到期望选项卡,则此选项卡有指示符.

到底是怎么回事?谁能帮助我?我花了太多时间.

在此输入图像描述

代码下方.

public class MainActivity extends AppCompatActivity {

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

        // Get the ViewPager and set it's PagerAdapter so that it can display items
        ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
        final SampleFragmentPagerAdapter pagerAdapter = new SampleFragmentPagerAdapter(getSupportFragmentManager(), MainActivity.this);
        viewPager.setAdapter(pagerAdapter);

        // Give the TabLayout the ViewPager
        TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
        tabLayout.setupWithViewPager(viewPager);

        findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pagerAdapter.notifyDataSetChanged();
            }
        });
    }

}
Run Code Online (Sandbox Code Playgroud)

我测试了nexus仿真器和nexus真实设备(api 21+) …

android android-tablayout

7
推荐指数
3
解决办法
1786
查看次数

错误无法解析符号TabLayout和'设计

请帮忙:导入时出错我android.support.design.widget.TabLayout"can not resolve symbol 'design'

我的build.gradle:

     compileSdkVersion 26
     buildToolsVersion "26.0.0"

     dependencies {
         compile fileTree(dir: 'libs', include: ['*.jar'])
         androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
         {
             exclude group: 'com.android.support', module: 'support-annotations'
         })
         compile 'com.android.support:appcompat-v7:26'
         compile 'com.android.support.constraint:constraint-layout:1.0.2'
         compile 'com.android.support:support-v4:26'
         testCompile 'junit:junit:4.12'
     }
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-gradle-plugin android-design-library android-tablayout

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

我们如何缩小标签布局文本与其指标之间的差距

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/htab_maincontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true">

            <android.support.design.widget.AppBarLayout
                android:id="@+id/htab_appbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorBlack"
                android:fitsSystemWindows="false"
                android:theme="@style/AppTheme">

                <android.support.design.widget.CollapsingToolbarLayout
                    android:id="@+id/htab_collapse_toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="256dp"
                    android:fitsSystemWindows="true"
                    app:layout_scrollFlags="scroll|exitUntilCollapsed"
                    app:titleEnabled="false">

                    <ImageView
                        android:id="@+id/htab_header"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/logo_inner"
                        android:fitsSystemWindows="true"
                        app:layout_collapseMode="parallax" />

                    <android.support.v7.widget.Toolbar
                        android:id="@+id/htab_toolbar"
                        android:layout_width="match_parent"
                        android:layout_height="?attr/actionBarSize"
                        android:background="@android:color/transparent"
                        app:contentInsetStart="0dp"
                        app:layout_collapseMode="pin"
                        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

                    <android.support.design.widget.TabLayout
                        android:id="@+id/htab_tabs"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="bottom"
                        android:background="@color/colorBlack"
                        app:tabGravity="center"
                        app:tabIndicatorColor="@color/colorSelectText"
                        app:tabPaddingEnd="@dimen/space_micro"
                        app:tabPaddingStart="@dimen/space_micro"
                        app:tabSelectedTextColor="@color/colorSelectText"
                        app:tabTextAppearance="@style/TabLayoutTextStyle"
                        app:tabTextColor="@color/colorWhite">


                    </android.support.design.widget.TabLayout>


                </android.support.design.widget.CollapsingToolbarLayout>

            </android.support.design.widget.AppBarLayout>



        </android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我想减少Tab Layout文本和它的指标之间的空间.我正在使用带有折叠工具栏的标签布局,当它向上滑动时,标签布局将固定在顶部.

我有4个标签及其相应的指示灯.

我正在分享我的xml并附加图像.

在此输入图像描述

android android-layout android-tablayout

7
推荐指数
2
解决办法
1532
查看次数