Android-风格和主题
一 Style和主题Theme的差别
1。Theme是针对窗口级别的,改变窗口样式
2。Style是针对窗口元素级别的。改变指定控件或者Layout的样式
二 使用Style的方式
1,创建Style
在res/values下创建styles.xml文件
加入节点(根节点)
加入自己定义的style和其属性:
style的写法格式
<style name="MyStyle" parent="指定的父style"
name前面不须要有android:
<item name="ATTR须要设置的属性名">[VALUE设定的值]</>
parent属性可选,能够继承其它style的属性,当须要对现有的style做微小的
改变的时候,这个值非常实用
实例:
<style name="ChengzhiStyle">
<item name="android:textColor">#FFF0000</item>
</style>
2,为控件指定style
在layout中指定:
<TextView
style="@style/MyStyle"/>
三 主题Theme
1,用法:
在manifest文件里,为Activity指定theme属性(推荐使用这样的方式)
android:theme="@style/AppTheme">
或者在Activity创建是调用setTheme函数(必须在setContentView之前调用。不推荐使用)
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//设置主题
setTheme(R.style.AppTheme);
setContentView(R.layout.layout_portrait);
}
2。使用系统自带的Theme
经常使用的系统Theme例如以下图:
3,自己定义Theme
<style name="MyTheme" [parent="继承的主题"]
<item name="ATTR">[VALUE]</>
</style>
4,实例毛玻璃效果
毛玻璃效果:就是非常多程序第一启动时的界面,或者弹出的对话框后面的模糊的Activity界面
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//设置毛玻璃效果
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
}