1:在color.xml里自定义 两个颜色属性 ,一个是白色 一个是灰色:
<color name="white">#FFFFFFFF</color>
<color name="white_50p">#80FFFFFF</color>
在定义textcolor的时候,这能够方便我们取色;
2:我们定义了这两个属性后,我这里定义了两个页面:一个是“我的音乐”另一个页面是“在线音乐”;
效果图1:
效果图2:
注意:我这里是点击“我的音乐”“在线音乐” 或者左右滑动页面 都有这样的效果;
3:在布局里“我的音乐”和“在线音乐”中的textcolor 重新设置了,部分代码如下:
android:text="我的音乐"
android:textColor="@color/white"
android:textColor="@color/white_50p"
android:text="在线音乐"
因为主页面是“我的音乐”,所以初始为白色!“在线音乐”为“灰色”。
4:在MainActivity.java里 我们创建一个Viewpage 的监听方法(不要手打,在写ViewPager.OnPageChangeListener后,用快捷键Alt+回车)
代码如下:
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
5:因为我们要判断滑动切换页面后字体的效果 所以我这里用到了switch语句
代码如下:
switch (position){
case 0:
localTV.setTextColor(getResources().getColor(R.color.white)); //初始画面时 ,"我的音乐"颜色为白色
onlineTV.setTextColor(getResources().getColor(R.color.white_50p)); //"在线音乐"颜色为灰色
break;
case 1:
localTV.setTextColor(getResources().getColor(R.color.white_50p)); //向右滑动页面后,"在线音乐"为白色
onlineTV.setTextColor(getResources().getColor(R.color.white)); //"我的音乐"为灰色
}
这个写在这个代码里面:
@Override
public void onPageSelected(int position) {
}
总结
1:自定义两个颜色;
2:需要创建页面监听;
3:用switch语句 实现滑动页面后,一样的效果;