我是初学者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>
在下面的波纹管按钮中按了میامکبانکی。
这就是我想要的:
这是我的问题。我不知道蓝色来自哪里。
答案 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">