美文网首页Android 成长笔记
Android 资源简介(九) Theme 资源

Android 资源简介(九) Theme 资源

作者: 赵者也 | 来源:发表于2017-04-08 11:49 被阅读2次

    Theme 主题资源与样式资源类似,但是存在如下区别:

    1. 主题不能作用于单个 View 组件,主题应该对应用中单个或者所有的 Activity 起作用;
    2. 主题定义的属性应该是改变窗口的外观的属性,例如窗口标题、窗口边框等。

    下面是简单的使用示例,首先在上一篇文章中的 /res/values 目录下的 styles.xml 文件中追加如下字段:

    <style name="TestTheme">
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowFrame">@drawable/window_border</item>
            <item name="android:windowBackground">@drawable/img06</item>
    </style>
    

    这段代码中使用的 window_border 资源需要我们在 /res/drawable 目录下自行定义,其内容为:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#00FFFFFF" />
        <padding
            android:bottom="7dp"
            android:left="7dp"
            android:right="7dp"
            android:top="7dp" />
        <stroke
            android:width="10dip"
            android:color="#FF80FF" />
    </shape>
    

    主布局文件我们还是使用上一篇文件中的布局文件。

    主程序的代码如下:

    package com.toby.personal.testlistview;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    
    public class MainActivity extends AppCompatActivity {
    
        final private static String TAG = "Toby_Test";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setTheme(R.style.TestTheme);
            setContentView(R.layout.activity_main);
        }
    }
    

    运行效果图:


    运行效果图

    参考文献:《疯狂Android讲义(第2版)》

    相关文章

      网友评论

        本文标题:Android 资源简介(九) Theme 资源

        本文链接:https://www.haomeiwen.com/subject/bvrlattx.html