android5.0新特性1Styke风格,颜色搭配,风格转换,不做Intent切换的动画
2016-03-15 12:20
483 查看
android5.0新特性,需要我们在Style中的每个itme中设置,具体设置如下图:
![](https://img-blog.csdn.net/20160315120112030?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
对应在资源文件中的Styles可以做如下设置:
?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="AppTheme"
parent="android:Theme.Material.Light">
<!--
设置状态栏 -->
<item name="android:colorPrimaryDark">@color/statusColor</item>
<!-- actionBar的颜色 -->
<item name="android:colorPrimary">@color/colorPrimary</item>
<!--
背景色 -->
<item name="android:windowBackground">@color/windowColor</item>
<!--
导航色 -->
<item name="android:navigationBarColor">@color/navigationBarColor</item>
<!--actionbar textcolor-->
<item name="android:textColorPrimary">@color/textColorPrimary</item>
</style>
<style
name="Theme1"
parent="android:Theme.Material.Light">
<!--
设置状态栏 -->
<item name="android:colorPrimaryDark">@color/statusColor_1</item>
<!-- actionBar的颜色 -->
<item name="android:colorPrimary">@color/colorPrimary_1</item>
<!--
背景色 -->
<item name="android:windowBackground">@color/windowColor_1</item>
<!--
导航色 -->
<item name="android:navigationBarColor">@color/navigationBarColor_1</item>
<!--actionbar textcolor-->
<item name="android:textColorPrimary">@color/textColorPrimary_1</item>
</style>
<style
name="Theme2"
parent="android:Theme.Material.Light">
<!--
设置状态栏 -->
<item name="android:colorPrimaryDark">@color/statusColor_2</item>
<!-- actionBar的颜色 -->
<item name="android:colorPrimary">@color/colorPrimary_2</item>
<!--
背景色 -->
<item name="android:windowBackground">@color/windowColor_2</item>
<!--
导航色 -->
<item name="android:navigationBarColor">@color/navigationBarColor_2</item>
<!--actionbar textcolor-->
<item name="android:textColorPrimary">@color/textColorPrimary_2</item>
</s
dc19
tyle>
在Color中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#9C27B0</color>
<color name="windowColor">#E1BEE7</color>
<color name="statusColor">#8E24AA</color>
<color
name="navigationBarColor">#7B1FA2</color>
<color
name="textColorPrimary">#ffffff</color>
<color name="colorPrimary_1">#009688</color>
<color name="windowColor_1">#B2DFDB</color>
<color name="statusColor_1">#00897B</color>
<color
name="navigationBarColor_1">#00796B</color>
<color
name="textColorPrimary_1">#ffffff</color>
<color name="colorPrimary_2">#FF5722</color>
<color name="windowColor_2">#FFCCBC</color>
<color name="statusColor_2">#F4511E</color>
<color
name="navigationBarColor_2">#D84315</color>
<color
name="textColorPrimary_2">#ffffff</color>
</resources>
在谷歌的设计样式中:
www.google.com/design中可以找到对于的样式,样式已经帮忙搭配好
在改变样式setTheme的方法必须在activity重启之前,所以改变样式的方法如下
@Override
protected void onCreate(Bundle savedInstanceState)
{
int theme = getIntent().getIntExtra("theme",
-1);
if (theme != -1)
{
setTheme(theme);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private void changeTheme(int theme)
{
//必须在activity的setContentView之前
//activity必须重启
//注意这个方法就是意图转换的时候不做如何动画
overridePendingTransition(0,
0);
finish();
Intent intent = new Intent(this,
MainActivity.class);
intent.putExtra("theme",
theme);
overridePendingTransition(0,
0);
startActivity(intent);
}
对应在资源文件中的Styles可以做如下设置:
?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="AppTheme"
parent="android:Theme.Material.Light">
<!--
设置状态栏 -->
<item name="android:colorPrimaryDark">@color/statusColor</item>
<!-- actionBar的颜色 -->
<item name="android:colorPrimary">@color/colorPrimary</item>
<!--
背景色 -->
<item name="android:windowBackground">@color/windowColor</item>
<!--
导航色 -->
<item name="android:navigationBarColor">@color/navigationBarColor</item>
<!--actionbar textcolor-->
<item name="android:textColorPrimary">@color/textColorPrimary</item>
</style>
<style
name="Theme1"
parent="android:Theme.Material.Light">
<!--
设置状态栏 -->
<item name="android:colorPrimaryDark">@color/statusColor_1</item>
<!-- actionBar的颜色 -->
<item name="android:colorPrimary">@color/colorPrimary_1</item>
<!--
背景色 -->
<item name="android:windowBackground">@color/windowColor_1</item>
<!--
导航色 -->
<item name="android:navigationBarColor">@color/navigationBarColor_1</item>
<!--actionbar textcolor-->
<item name="android:textColorPrimary">@color/textColorPrimary_1</item>
</style>
<style
name="Theme2"
parent="android:Theme.Material.Light">
<!--
设置状态栏 -->
<item name="android:colorPrimaryDark">@color/statusColor_2</item>
<!-- actionBar的颜色 -->
<item name="android:colorPrimary">@color/colorPrimary_2</item>
<!--
背景色 -->
<item name="android:windowBackground">@color/windowColor_2</item>
<!--
导航色 -->
<item name="android:navigationBarColor">@color/navigationBarColor_2</item>
<!--actionbar textcolor-->
<item name="android:textColorPrimary">@color/textColorPrimary_2</item>
</s
dc19
tyle>
在Color中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#9C27B0</color>
<color name="windowColor">#E1BEE7</color>
<color name="statusColor">#8E24AA</color>
<color
name="navigationBarColor">#7B1FA2</color>
<color
name="textColorPrimary">#ffffff</color>
<color name="colorPrimary_1">#009688</color>
<color name="windowColor_1">#B2DFDB</color>
<color name="statusColor_1">#00897B</color>
<color
name="navigationBarColor_1">#00796B</color>
<color
name="textColorPrimary_1">#ffffff</color>
<color name="colorPrimary_2">#FF5722</color>
<color name="windowColor_2">#FFCCBC</color>
<color name="statusColor_2">#F4511E</color>
<color
name="navigationBarColor_2">#D84315</color>
<color
name="textColorPrimary_2">#ffffff</color>
</resources>
在谷歌的设计样式中:
www.google.com/design中可以找到对于的样式,样式已经帮忙搭配好
在改变样式setTheme的方法必须在activity重启之前,所以改变样式的方法如下
@Override
protected void onCreate(Bundle savedInstanceState)
{
int theme = getIntent().getIntExtra("theme",
-1);
if (theme != -1)
{
setTheme(theme);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private void changeTheme(int theme)
{
//必须在activity的setContentView之前
//activity必须重启
//注意这个方法就是意图转换的时候不做如何动画
overridePendingTransition(0,
0);
finish();
Intent intent = new Intent(this,
MainActivity.class);
intent.putExtra("theme",
theme);
overridePendingTransition(0,
0);
startActivity(intent);
}
相关文章推荐
- Android为Layout设置最大宽度
- CSDN上最火的android项目
- android不一样的listView的empty
- mtk android下面添加节点
- Android 开源框架Universal-Image-Loader完全解析 --- 基本介绍及使用
- Android Properties 使用实例
- 创建Material Design风格的Android应用--使用自定义动画
- Android 混淆代码
- Android代码优化——使用Android lint工具
- Android 开发进阶指南
- 开发者须知:Android M 的权限机制
- Android 图片缓存之内存缓存技术LruCache,软引用
- Android项目真的要去做混淆(加密)处理
- Android Gson的使用
- Android Wear开发者预览配置过程
- 【转】对Android开发者有益的40条优化建议
- 【转】Android之内存泄漏调试学习与总结
- 【转】Android横竖屏切换问题
- 【转】Android Launcher研究 (一)
- Android中使用Parcelable