AppBarLayout 颜色的运行时更改
Runtime change of AppBarLayout color
Android Google Play 应用如何在用户点击 AppBarlayout 时动态改变颜色?
我尝试了以下
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()
{
@Override
public void onTabSelected(TabLayout.Tab tab)
{
setTheme(R.style.AppTheme_2);
}
}
<style name="AppTheme_2" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary_2</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark_2</item>
<item name="colorAccent">@color/colorAccent_2</item>
</style>
您需要获取标签位置才能操作颜色。
这是例子。
mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Log.e(TAG, String.valueOf(tab.getPosition()));
switch (tab.getPosition()){
case 0:
mAppBar.setBackgroundResource(R.color.colorPrimary);
break;
case 1:
mAppBar.setBackgroundResource(R.color.colorPrimary);
break;
case 2:
mAppBar.setBackgroundColor(Color.BLACK);
break;
}
}
Android Google Play 应用如何在用户点击 AppBarlayout 时动态改变颜色?
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()
{
@Override
public void onTabSelected(TabLayout.Tab tab)
{
setTheme(R.style.AppTheme_2);
}
}
<style name="AppTheme_2" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary_2</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark_2</item>
<item name="colorAccent">@color/colorAccent_2</item>
</style>
您需要获取标签位置才能操作颜色。 这是例子。
mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Log.e(TAG, String.valueOf(tab.getPosition()));
switch (tab.getPosition()){
case 0:
mAppBar.setBackgroundResource(R.color.colorPrimary);
break;
case 1:
mAppBar.setBackgroundResource(R.color.colorPrimary);
break;
case 2:
mAppBar.setBackgroundColor(Color.BLACK);
break;
}
}