Android 资源简介(九) Theme 资源

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 资源简介(九) Theme 资源》 运行效果图

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

    原文作者:赵者也
    原文地址: https://www.jianshu.com/p/290416405b6c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞