蓝色背景 TabItem 按下时
Blue color background TabItem when pressed
我是初学者 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>
在图片中,按下了 پامک بانکی 按钮。
这就是我想要的:
这是我的问题。我不知道蓝色是从哪里来的。
这可能是因为您的 accentColor 是蓝色,并且您没有在 xml 中设置任何其他颜色 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>
我认为您可以创建客户 select 或者。转到可绘制文件夹并右键单击。然后select新建->创建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>
转到值->颜色文件并添加这两种颜色
<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">
我是初学者 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>
在图片中,按下了 پامک بانکی 按钮。
这就是我想要的:
这是我的问题。我不知道蓝色是从哪里来的。
这可能是因为您的 accentColor 是蓝色,并且您没有在 xml 中设置任何其他颜色 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>
我认为您可以创建客户 select 或者。转到可绘制文件夹并右键单击。然后select新建->创建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>
转到值->颜色文件并添加这两种颜色
<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">