标签: android-tablayout

Android TabLayout tabPadding 底部和顶部不起作用?

我想要没有填充的 TabLayout 选项卡。和 tabPaddingStart , tabPaddingEnd 正在工作。但是 tabPaddingBottom 和 tabPaddingTop 不起作用。我将它们的值更改为 -1 和 0,但我的项目没有变化。

我想问的另一件事是在我的标签处于糟糕状态后屏幕旋转。TextView 未完全显示。和 ImageView .....

这是我的活动

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:design="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="10">

<android.support.v4.view.ViewPager
    android:id="@+id/view_pager_main_content"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="9">
</android.support.v4.view.ViewPager>

<android.support.design.widget.TabLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:visibility="visible"
    android:layout_weight="1"
    design:tabBackground="@drawable/tab_color_selector"
    design:tabIndicatorColor="@color/colorPrimary"
    design:tabMaxWidth="0dp"

    design:tabPaddingStart="0dp"  // working
    design:tabPaddingEnd="0dp"    // working
    design:tabPaddingBottom="0dp" 
    design:tabPaddingTop="0dp"

    design:tabContentStart="0dp"
    design:tabGravity="fill"
    design:tabMode="fixed"
    >

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

</LinearLayout>
                 //Tab Layout selector
     <?xml version="1.0" encoding="utf-8"?>
   <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorPrimaryTransparent"   
     android:state_selected="true"></item>
    <item android:drawable="@color/white" 
     android:state_selected="false"></item>
     </selector>
Run Code Online (Sandbox Code Playgroud)

“我的 tabLayout 自定义选项卡样式”

<?xml version="1.0" encoding="utf-8"?> …
Run Code Online (Sandbox Code Playgroud)

android android-imageview android-tablayout

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

TabLayout 不显示 Android

不明白为什么我的 TabLayout 没有显示在我的 Fragment 下一些帮助。这是我的代码:

public class ViewPagerFragment extends Fragment {

    public static final String KEY_NEW_INDEX = "key_new_index";
    private ViewPager mViewPager;
    private TabLayout mTabLayout;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        final View view = inflater.inflate(R.layout.fragment_view_pager, container, false);

        final SportFragment sportFragment = new SportFragment();
        Bundle bundle = new Bundle();
        sportFragment.setArguments(bundle);

        final BuzzFragment buzzFragment = new BuzzFragment();
        bundle = new Bundle();
        buzzFragment.setArguments(bundle);

        mViewPager = (ViewPager) view.findViewById(R.id.viewPager);
        mTabLayout = (TabLayout) view.findViewById(R.id.tabLayout);


        mViewPager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {
            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-tablayout

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

How to reverse viewpager swiping

So my app is in RTL, and with that, the tabs are now ordered from right to left..!

..But when I swipe to slide between the tabs, it contradicts the common sense, so I want to reverse it..! see the picture to see the problem..!

What I want is..! > when I'm in Tab1 and then I swipe from left to right I want it to slide to Tab 2 and so on..!

is that possible..!?

在此处输入图片说明

THE CODE


My Customer …

android android-fragments swipe-gesture android-viewpager android-tablayout

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

支持库版本 28.0.0 TabLayout 错误

更新到最新版本的支持库(27.1.1 -> 28.0.0)后,用户界面出现问题。

一个问题: 在此处输入图片说明

理想状态: 在此处输入图片说明

tab_layout_unselected_indicator.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:left="-5dp"
        android:right="-5dp"
        android:top="-5dp">
        <shape>
            <stroke
                android:width="2dp"
                android:color="@color/colorGrey" />
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

选项卡布局:

<android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorBlackDark"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:tabBackground="@drawable/tab_layout_unselected_indicator"
        app:tabIndicatorColor="@color/colorOrange"
        app:tabMode="fixed"
        app:tabSelectedTextColor="@color/colorOrange"
        app:tabTextAppearance="@style/StrikeCustomTabText"
        app:tabTextColor="@color/colorGrey" />
Run Code Online (Sandbox Code Playgroud)

看起来一个标签的背景与另一个交叉。我试图改变缩进并注意到了这一点。现在我使用的是以前版本的支持库 (27.1.1)。如何为当前版本的支持库 (28.0.0) 修复此问题?

android android-layout android-tablayout

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

如何在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 - AndroidX 中的 TabLayout

我只是尝试使用 androidX 在 Android 上实现 tabLayout 但我无法做到。

androidX 上的 tabLayout 是否已弃用?

android android-tablayout

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

自定义可绘制为 com.google.android.material.tabs.TabLayout 的 tabIndicator 不起作用

我正在尝试将自定义 drawable 设置为 tabIndicator,如下所示

<com.google.android.material.tabs.TabLayout
            android:id="@+id/tab_layout"
            app:tabIndicatorFullWidth="false"
            app:layout_scrollFlags="scroll"
            app:tabIndicator="@drawable/tab_layout_indicator_selected"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

drawable/tab_layout_indicator_selected

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="2dp" />
            <gradient
                android:angle="180"
                android:endColor="#FF00FF"
                android:startColor="#00FFFF"
                android:type="linear" />
            <size
                android:width="60dp"
                android:height="4dp" />
        </shape>
    </item>
    <item android:gravity="end">
        <shape android:shape="oval">
            <solid android:color="#FF00FF" />
            <size
                android:width="4dp"
                android:height="4dp" />
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

这将指示器的形状显示为我的可绘制对象,但它的颜色始终保持灰色,而不是可绘制对象中给出的颜色。

android drawable android-tablayout

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

在 viewpager2 中禁用动画

我为他提供了扩展 FragmentStateAdapter 的 viewpager2 和适配器。我希望用户仅通过单击 tablayout 才能转到另一个页面。我已禁用此 viewpager2 的用户输入。但是当我点击选项卡时,页面之间有快速滑动的动画。但我只想显示新片段。与 FragmentTransaction 类似,但使用 viewpager2 和 tablayout。有谁知道怎么做?

android kotlin android-tablayout android-viewpager2

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

E/iardini.error0: 无效 ID 0x00000001 - 错误资源 ID

我目前遇到一个错误,该错误继续降低我的应用程序的性能。

该错误不会导致应用程序关闭或崩溃,或者向控制台写入异常。控制台只是简单地报告这个消息:

E/iardini.error0: Invalid ID 0x00000001.

从消息中出现的唯一内容是:

  • 这是一个错误,你可以从前缀“E/”中理解
  • 错误在我的应用程序中,“iardini.error0”
  • 无法识别某种 ID

如何复制错误:我在 github 上创建了一个公共存储库,因此您可以下载源代码并享用午餐!您将立即看到错误将显示在控制台内。

在此处输入图片说明

错误消息取决于什么?我该如何解决?

提前致谢!

android android-resources android-tablayout android-databinding android-viewpager2

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

如何为 Android TabLayout 添加水平滚动指示器

我希望为Android TabLayout添加水平滚动视图。

TabLayout 中有多个选项卡并且是可滚动的。由于上面有多个选项卡,乍一看,其中一些选项卡是不可见的。用户必须滚动才能到达最右侧的选项卡(通常是隐藏的),因此这些选项卡不会引起用户的注意。

想法是有一个水平滚动指示器或一个箭头,指示右侧有更多选项卡,以便用户可以滚动以查找/使用它们。

设计思想是有一个scrollIndicator 而没有一个tabIndicator。我从谷歌找到了下面的图片,它更接近这个想法。 在此处输入图片说明

提前致谢,

android android-layout android-tablayout

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