Android theme

本文介绍了Android中主题的应用,包括全局和局部Activity的主题设置,常见的系统主题及其应用场景,以及如何自定义主题和使用自定义属性实现不同入口Activity显示不同颜色效果。通过实例详细解析了自定义主题的步骤,包括在XML中定义主题和在布局中引用自定义属性。
摘要由CSDN通过智能技术生成

1.主题theme

theme是应用的主题,或者说风格。通过设置主题可以改变应用的相关皮肤。

一般主题作用于整个应用,即对应的是application,但有时候部分界面需要特殊的处理,比如为一个特定的activity设置一个单独的皮肤。

<application

    android:icon="@mipmap/ic_launcher"

    android:label="@string/app_name"

    ……

    android:theme="@style/AppTheme">

    <activity android:name=".MainActivity"

       android:theme="@style/AppTheme.theme1">

        ……

    </activity>

</application>

上面在配置文件中分别从两个地方设置了主题:

①在application中设置,这个就是全局的,如果不再单独为某个activity设置主题,那么activity的主题就是“@style/AppTheme”。

②在activity中设置,比如为MainActivity单独设置一个主题为:@style/AppTheme.theme1。

所以主题的作用域就是application和activity,不涉及到内部的View。

当然,除了在xml中设置,也可以用代码动态设置:

protected void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState); 

     setTheme(android.R.style.mytheme); 

     setContentView(R.layout.activity_main); 

}

注意:设置主题要在setContentView()之前。

 

2.常见的系统主题

android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式  

android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏  

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏

android:theme="Theme.Light" 背景为白色  

android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏  

android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏

android:theme="Theme.Black" 背景黑色  

android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏

android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏

android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景  

android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值