首页 > 代码库 > Android-风格和主题

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); 
    }
<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

Android-风格和主题