android动态设置attr值,Android 主题切换(theme),语种切换,动态获取自定义属性(attr)值...

本文介绍了如何在Android应用中实现实时切换主题和语言,包括创建自定义主题资源文件、主题配置、定义观察者接口、在BaseActivity中实现主题切换以及在APP中管理观察者。通过在Activity中监听并更新主题属性,实现了主题切换的效果。
摘要由CSDN通过智能技术生成

1.开发环境:Android studio 3.4.0,kotlin实现

2.开发准备

①在values中添加资源文件【“new“ → "Values resouce file”】定义为”custom_theme_attrs“,内容如下:

②在资源文件”styles“中添加如下代码【添加主题】

#1EABF0

#FFFFFF

#F3F3F3

#333333

#000000

#FFFFFF

#888888

#EAEAEA

主题配置

TopicConfig

3.添加观察者接口:

package com.zjhj.maxapp.theme

interface ThemeChangeObserver {

/**

* 加载当前主题

*/

fun loadingCurrentTheme()

/**

* 主题改变后通知

*/

fun notifyThemeChanged()

}

4.在BaseActivity中实现接口

package com.zjhj.maxapp.base

import android.content.Context

import android.os.Bundle

import android.view.WindowManager

import androidx.appcompat.app.AppCompatActivity

import com.zjhj.maxapp.App

import com.zjhj.maxapp.R

import com.zjhj.maxapp.theme.ThemeChangeObserver

import com.zjhj.maxapp.utils.L //自定义日志类

/**

* CreateTime 2020/4/2 09:10

* Author LiuShiHua

* Description:

*/

abstract class BaseActivity : AppCompatActivity(), ThemeChangeObserver {

private val KEY_THEME_TAG =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值