kotlin compose 实现应用内多语言切换(不重新打开App)
1. 示例图

2.具体实现
如何实现上述示例,且不需要重新打开App
①自定义 MainApplication 实现 Application ,定义两个变量:
class MainApplication : Application() { object GlobalDpData { var language: String = "" var defaultLanguage: String = "en"
}
override fun onCreate() {defaultLanguage = Locale.getDefault().language
val cacheLanguage = "保存在手机App本地的切换后的语言,可用sp或文件实现" language = if (cacheLanguage.isNullOrEmpty()) {
defaultLanguage
} else {
cacheLanguage
}}
}
②在baseActivity中添加语言实现
override fun attachBaseContext(baseContext: Context) {var language = MainApplication.GlobalDpData.languageif (language.isEmpty()) {val default = MainApplication.GlobalDpData.defaultLanguagelanguage = "保存在手机App本地的切换后的语言,可用sp或文件实现" }// 创建一个ContextWrapper对象val context = newWrap(baseContext, language)// 将新的的Context设置给Activitysuper.attachBaseContext(context)
}
/*** 创建ContextWrapper对象,*/
private fun newWrap(context: Context, language: String): ContextWrapper {val configuration = context.resources.configurationconfiguration.fontScale = 1fval locale = Locale(language)val localeList = LocaleList(locale)LocaleList.setDefault(localeList)configuration.setLocales(localeList)相关文章:
kotlin compose 实现应用内多语言切换(不重新打开App)
1. 示例图 2.具体实现 如何实现上述示例,且不需要重新打开App ①自定义 MainApplication 实现 Application ,定义两个变量: class MainApplication : Application() { object GlobalDpData { var language: String = "" var defaultLanguage: Strin…...
记录些MySQL题集(16)
MySQL 存储过程与触发器 一、初识MySQL的存储过程 Stored Procedure存储过程是数据库系统中一个十分重要的功能,使用存储过程可以大幅度缩短大SQL的响应时间,同时也可以提高数据库编程的灵活性。 存储过程是一组为了完成特定功能的SQL语句集合&#x…...
【算法基础】Dijkstra 算法
定义: g [ i ] [ j ] g[i][j] g[i][j] 表示 v i v_i vi 到 $v_j $的边权重,如果没有连接,则 g [ i ] [ j ] ∞ g[i][j] \infty g[i][j]∞ d i s [ i ] dis[i] dis[i] 表示 v k v_k vk 到节点 v i v_i vi 的最短长度, …...
使用 Flask 3 搭建问答平台(三):注册页面模板渲染
前言 前端文件下载 链接https://pan.baidu.com/s/1Ju5hhhhy5pcUMM7VS3S5YA?pwd6666%C2%A0 知识点 1. 在路由中渲染前端页面 2. 使用 JinJa 2 模板实现前端代码复用 一、auth.py from flask import render_templatebp.route(/register, methods[GET]) def register():re…...
pycharm如何debug for循环里面的错误值
一般debug时,在for循环里面的话,需要自己一步一步点。如果循环几百次那种就比较麻烦。此时可以采用try except的方式来解决 例子如下 #ptyhon debug for循环的代码 num[1,2,3,s,4] ans0 for i in num:try:ansiexcept:print(错误) print(ans) 结果如下&a…...
解决网页中的 video 标签在移动端浏览器(如百度访问网页)视频脱离文档流播放问题
问题现象 部分浏览器视频脱离文档流,滚动时,视频是悬浮出来,在顶部播放 解决方案 添加下列属性,可解决大部分浏览器的脱离文档流的问题 <videowebkit-playsinline""playsInlinex5-playsinlinet7-video-player-t…...
.Net--CLS,CTS,CLI,BCL,FCL
1.什么是CLS? 所以.NET专门为此参考每种语言(例如C# ,VB,F#)并找出了语言间的共性,然后定义了一组规则,开发者都遵守这个规则来编码,那么代码就能被任意.NET平台支持的语言所通用。 而与其说是规则&#x…...
Stable Diffusion:质量高画风清新细节丰富的二次元大模型二次元插图
今天和大家分享一个基于Pony模型训练的二次元模型:二次元插图。关于该模型有4个不同的分支版本。 1.5版本:loar模型,推荐底模型niji-动漫二次元4.5。 xl版本:SDXL模型版本 mix版本:光影减弱,减少SDXL版本…...
数读MEME之争:以太坊获更高价值共识,抢占热点成Solana流量密码
在当前显著的加密牛市中,以太坊和Solana之间的竞争不仅在币价表现上显而易见,生态发展方面也备受关注。特别是在这轮MEME行情中,双方阵营的MEME代币呈现出不同的特点和趋势。 市场表现对比 以太坊的优势: 市场份额和认可度更高&…...
python的with语句
1.with语句的作用 在 Python 中,with 语句用于创建一个上下文管理器,以更简洁和安全的方式管理资源。 其主要优点是可以确保在代码块执行完毕后,相关资源能够被正确释放或清理,即使在代码块内部发生了异常。 以下是一个使用 with…...
Selenium原理深度解析
在自动化测试领域,Selenium无疑是最受欢迎和广泛使用的工具之一。它支持多种浏览器和操作系统,为开发人员和测试人员提供了强大的自动化测试解决方案。本文将深入探讨Selenium的工作原理,包括其架构、核心组件、执行流程以及它在自动化测试中…...
算法复杂度<数据结构 C版>
什么是算法复杂度? 简单来说算法复杂度是用来衡量一个算法的优劣的,一个程序在运行时,对运行时间和运行空间有要求,即时间复杂度和空间复杂度。 目录 什么是算法复杂度? 大O的渐近表达式 时间复杂度示例 空间复杂度…...
【XSS】
文章目录 0x01 简介0x02 XSS Payload用法XSS攻击平台及调试JavaScript 0x03 XSS绕过XSS漏洞防御策略 跨站脚本攻击,Cross Site Script。(重点在于脚本script) 有关XSS可以造成的 危害,见 0x02 XSS Payload用法 分类 反射型、存储…...
Go网络编程-RPC程序设计
gRPC 通信 RPC 介绍 RPC, Remote Procedure Call,远程过程调用。与 HTTP 一致,也是应用层协议。该协议的目标是实现:调用远程过程(方法、函数)就如调用本地方法一致。 如图所示: 说明: Servi…...
Linux 性能优化:轻松入门
文章目录 前言一、磁盘性能优化1、 磁盘 RAID 模式选择2、文件系统优化 二、优化 CPU1、性能监控 :2、进程优先级调整 :3、进程与 CPU 绑定 : 三、优化内存四、网络性能优化1、调整 TCP 缓冲区大小2、修改系统级别的文件描述符的数量3、调整 …...
C++相关概念和易错语法(22)(final、纯虚函数、继承多态难点)
1.final final在继承和多态中都可以使用,在继承中是指不想将自己被继承,在多态中是指不想该函数被重写,比较简单,下面是一些使用例子。 2.纯虚函数 当我们需要抽象一个类的时候,我们就需要用到纯虚函数。所谓抽象的类…...
状态管理的艺术:探索Flutter的Provider库
状态管理的艺术:探索Flutter的Provider库 前言 上一篇文章中,我们详细介绍了 Flutter 应用中的状态管理,以及 StatefulWidget 和 setState 的使用。 本篇我们继续介绍另一个实现状态管理的方式:Provider。 Provider优缺点 基…...
玩转HarmonyOS NEXT之IM应用首页布局
本文从目前流行的垂类市场中,选择即时通讯应用作为典型案例详细介绍HarmonyOS NEXT的各类布局在实际开发中的综合应用。即时通讯应用的核心功能为用户交互,主要包含对话聊天、通讯录,社交圈等交互功能。 应用首页 创建一个包含一列的栅格布…...
GPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建
原文链接:GPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608565&idx3&snd4e9d447efd82e8dd8192f7573886dab&chksmfa826912cdf5e00414e01626b52bab83a96199a6bf69cbbef7f7fe…...
记录些MySQL题集(4)
1、数据库的三范式是什么? 第一范式:列不可再分 第二范式:在第一范式的基础上,要求数据库表中的所有非主键列完全依赖于主键,而不是仅依赖于主键的一部分 第三范式:满足第二范式的基础上,所有…...
基于MCP协议的GitHub PR代码审查工具:自动化安全与质量分析
1. 项目概述与核心价值 最近在折腾一个挺有意思的东西,一个专门给GitHub Pull Request做代码审查的MCP服务器。简单来说,它能让你的AI助手(比如Cursor里的Claude)直接读懂GitHub上的代码变更,然后像一位经验丰富的技术…...
如何用MIKE IO快速上手水文数据分析:Python数据处理终极指南
如何用MIKE IO快速上手水文数据分析:Python数据处理终极指南 【免费下载链接】mikeio Read, write and manipulate dfs0, dfs1, dfs2, dfs3, dfsu and mesh files. 项目地址: https://gitcode.com/gh_mirrors/mi/mikeio MIKE IO是一个功能强大的Python开源库…...
DownKyi终极指南:快速掌握B站视频批量下载与8K超高清获取技巧
DownKyi终极指南:快速掌握B站视频批量下载与8K超高清获取技巧 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等…...
近屿AI学:产品经理转AI开发,开局20K
许知言(化名)做过B端产品经理,也有悉尼大学硕士背景。听起来,她本可以继续走产品路线。但AI开始快速改变产品形态后,她心里一直有个问题:如果未来的产品经理不懂AI开发,会不会很快被甩开&#x…...
I²C总线协议深度解析:从物理层到实战调试与疑难排查
1. IC总线:从电视遥控器到无处不在的嵌入式神经如果你在过去的二十年里摆弄过任何一块微控制器开发板,或者拆解过一台智能家电,那么你几乎百分之百会碰到两根被拉高的信号线,一根是时钟(SCL),一…...
Gemini实时语音转录+Pixel硬件级降噪,会议记录准确率提升至99.2%,你还在手动整理?
更多请点击: https://intelliparadigm.com 第一章:Gemini实时语音转录Pixel硬件级降噪,会议记录准确率提升至99.2%,你还在手动整理? Google Pixel 系列手机搭载的硬件级降噪芯片(如 Tensor G3 的 Spectral…...
kkFileView实战:如何优雅地集成到Spring Boot项目并替换默认‘抱歉’图片
kkFileView实战:Spring Boot项目深度集成与定制化改造 在当今企业级应用开发中,文件在线预览功能已成为提升用户体验的关键组件。kkFileView作为一款开源的文件预览解决方案,以其轻量级、高性能和广泛格式支持受到开发者青睐。但对于需要将其…...
Java统一AI SDK实战:集成OpenAI、Claude、Gemini多模型API
1. 项目概述与核心价值 最近在折腾一个需要集成多个大模型API的Java项目,从OpenAI到Claude再到Google Gemini,每个厂商的SDK调用方式、请求体结构、错误处理都不太一样,光是写适配代码就够喝一壶的。更别提还要处理流式响应、文件上传、Func…...
LettR编辑器光标增强插件:提升代码编辑效率的智能导航方案
1. 项目概述:一个为LettR编辑器量身定制的光标增强插件如果你和我一样,日常重度依赖代码编辑器,那你一定对光标这个看似不起眼的小东西又爱又恨。爱的是,它是我们与代码世界交互的核心;恨的是,当代码文件越…...
Agent工作流卡顿、循环、幻觉频发?Lindy官方未公开的3层诊断协议首次披露
更多请点击: https://intelliparadigm.com 第一章:Agent工作流卡顿、循环、幻觉频发?Lindy官方未公开的3层诊断协议首次披露 当Agent在真实业务链路中反复重试同一动作、陷入状态闭环,或输出与上下文明显矛盾的“幻觉响应”&…...
