按下时为蓝色背景TabItem

时间:2018-06-20 15:54:12

标签: android tabitem

我是初学者Android程序员。我创建一个TabView,然后在“选项卡项目”中按任何项目时,颜色应为灰色,但变为蓝色。以前,我在“导航”底部菜单中遇到此问题。我很困惑。问题出在哪里?我在末尾放了两个屏幕截图,以解释我想要什么和正在发生什么。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_above="@id/tabs"
        android:layout_alignParentTop="true" />

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">

        <android.support.design.widget.TabItem
            android:id="@+id/tabItem"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ثبت نقدی" />

        <android.support.design.widget.TabItem
            android:id="@+id/tabItem2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="پیامک بانکی" />

        <android.support.design.widget.TabItem
            android:id="@+id/tabItem3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="نمودار" />

        <android.support.design.widget.TabItem
            android:id="@+id/tabItem4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="بیشتر" />

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

</RelativeLayout>

在下面的波纹管按钮中按了میامکبانکی。

这就是我想要的:

This is what I want

这是我的问题。我不知道蓝色来自哪里。

This is my problem. I do not know where the blue color comes from.

2 个答案:

答案 0 :(得分:0)

这可能是因为您的accentColor是蓝色,并且由于您未在xml android中设置任何其他颜色,所以android正在使用默认值。

尝试一下以设置ViewPager和TabLayout

// Get the ViewPager and set it's PagerAdapter so that it can display items
ViewPager viewPager = (ViewPager) findViewById(R.id.container);
PageAdapter pageAdapter = new PageAdapter(getSupportFragmentManager(), this);
viewPager.setAdapter(pageAdapter);

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

obs:PageAdapter必须是您的ViewPager适配器

然后在您的xml中

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/main_content"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:fitsSystemWindows="true"
 tools:context=".Activity_Main">


 <android.support.v4.view.ViewPager
     android:id="@+id/container"
     android:layout_width="match_parent"
     android:layout_height="0dp"
     android:layout_above="@id/tabs"
     android:layout_alignParentTop="true" />

 <android.support.design.widget.TabLayout
     android:id="@+id/tabs"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true"
     android:tabBackground="@color/your_color"
     app:tabIndicatorColor="@color/your_color"/>

 </RelativeLayout>

答案 1 :(得分:0)

我认为您可以创建客户选择器。转到可绘制文件夹,然后单击鼠标右键。然后选择New-> create DrawableResource。将文件名添加为tab_selector。然后将以下代码添加到该文件

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/tab_background_selected" android:state_selected="true"/>
    <item android:drawable="@color/tab_background_unselected"/>
</selector>

转到value->颜色文件并添加这两种颜色

<color name="tab_background_selected">#991c47</color>
<color name="tab_background_unselected">#4d8e63</color>

您可以根据自己的喜好自定义这些颜色。

然后将app:tabBackground =“ @ drawable / tab_selector”添加到标签布局视图

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabBackground="@drawable/tab_selector"
    android:layout_alignParentBottom="true">