Android-风格和主题

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); 
    }
原文地址:https://www.cnblogs.com/wzzkaifa/p/7255490.html