首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android N-在运行时更改区域设置

Android N是Android操作系统的一个版本,它引入了许多新功能和改进,其中之一是在运行时更改区域设置。

区域设置是指设备上的语言、日期、时间、货币和其他相关设置。在Android N之前,更改区域设置需要重新启动应用程序,但Android N引入了一种新的机制,允许在运行时更改区域设置,而无需重新启动应用程序。

这个功能对于开发多语言应用程序非常有用。通过在应用程序中实现适当的逻辑,可以根据用户的偏好动态更改应用程序的语言和其他区域设置。这样,用户可以在不重新启动应用程序的情况下立即看到更改后的区域设置。

Android N中的运行时区域设置更改是通过LocaleList类实现的。开发人员可以使用LocaleList来获取当前的区域设置列表,并根据需要进行更改。例如,可以使用LocaleList.setDefault()方法来设置新的默认区域设置。

在应用程序中使用运行时区域设置更改的一个常见场景是多语言支持。通过在应用程序中使用字符串资源,并为每种语言提供不同的字符串值,可以实现多语言支持。然后,通过在运行时更改区域设置,应用程序可以根据用户的语言偏好显示适当的字符串。

腾讯云提供了一系列与Android开发相关的产品和服务,例如腾讯移动分析、腾讯移动推送和腾讯移动广告等。这些产品可以帮助开发人员分析应用程序的性能、推送消息和展示广告。您可以访问腾讯云的官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

区域设置更改和 AndroidViewModel 反面模式

在 ViewModel 中,如果要公开来自资源(字符串、可绘制文件、颜色……)的数据,则必须着重考虑 ViewModel 对象而忽视配置更改,例如区域设置更改。...当用户更改其区域设置时,活动将重新被创建,但不创建 ViewModel 对象。 AndroidViewModel 是已知应用程序上下文的 ViewModel 的子类。...让我们看看跟踪器中基于此问题的示例:在系统区域设置更改时更新 ViewModel 。...如果有区域设置更改,则不会重新创建视图模型。这将导致我们的应用程序显示废弃的数据,因此只能部分本地化。...我们在以 Java 为基础的 Android 架构存储库中解决了这个问题 Java 以及在Kotlin 分支上。我们也把资源转移到 数据绑定布局。

12510

区域设置更改和 AndroidViewModel 反面模式

在 ViewModel 中,如果要公开来自资源(字符串、可绘制文件、颜色……)的数据,则必须着重考虑 ViewModel 对象而忽视配置更改,例如区域设置更改。...当用户更改其区域设置时,活动将重新被创建,但不创建 ViewModel 对象。 ? AndroidViewModel 是已知应用程序上下文的 ViewModel 的子类。...让我们看看跟踪器中基于此问题的示例:在系统区域设置更改时更新 ViewModel 。...如果有区域设置更改,则不会重新创建视图模型。这将导致我们的应用程序显示废弃的数据,因此只能部分本地化。...我们在以 Java 为基础的 Android 架构存储库中解决了这个问题 Java 以及在Kotlin 分支上。我们也把资源转移到 数据绑定布局。

1.2K60
  • Android 6.0 权限行为变更详解

    运行时权限说明 Android 6.0 引入了一种新的权限模式,使得用户可以在运行 APP 的时候对一些比较敏感的权限进行管理。...对于以 Android 6.0 或者更高版本为目标平台的应用,务必在运行的时候检查和请求权限(针对一些危险权限)否则,如果直接调用相关需要特殊权限的方法的话,会导致 APP 的崩溃。...运行时请求(Android 6.0以及更高版本) 由于国内 Android 系统都是在正宗 Android 系统的基础上二次开发的,所以在这种特性的问题上会和正宗的 Android 系统有不同。...举个例子 :比如你将你开发的 APP 的 targetSDKVersion 设置为 23 以下的话,如果在原生的 Android 系统上,运行的时候是不需要运行时请求危险权限的,因为这个特性是在 API...但是如果你这样设置的话,在国内的手机上运行还是有问题的(比如小米手机)如果你没有动态申请危险权限,会导致你的 APP 崩溃,也就是说 targetSDKVersion 这个属性对国内的非原生 Android

    93420

    Android – Drawable 详解

    请注意,可以使用PathShape和ArcShape在运行时创建自定义形状。...你可以使用鼠标来选择要拉伸的区域(使用Shift键并单击并拖动鼠标擦除区域),右侧的预览窗格将显示如何根据内部文本渲染图像。 ? 需要为可拉伸区域定义左边和上边的线。...你也可以在运行时使用代码来设置vector drawable: ImageView iv = (ImageView) findViewById(...); iv.setImageResource(R.drawable.ic_heart...运行时Drawables 我们可以通过访问具有可绘制应用的视图的背景,在我们的Java代码的运行时访问drawable。...运行时Vector Drawables 如果你在运行时使用 vector drawables或animated vector drawables,请确保使用新的AppCompatResource类而不是普通的

    5.4K50

    Android 12的行为变更和版本兼容思路

    表现 前台服务启动限制 除少数特殊情况外,以Android 12为目标的应用程序无法在后台运行时启动前台服务。如果应用程序在后台运行时尝试启动前台服务,则会发生异常(少数特殊情况除外)。...自定义通知更改 Android 12会更改完全自定义通知的外观和行为。以前,自定义通知能够使用整个通知区域并提供自己的布局和样式。...对于定位到Android 12的应用,带有自定义内容视图的通知将不再使用完整的通知区域;而是,系统应用标准模板。...启用自定义通知更改: 改变你的应用程序的targetSdkVersion,以S使新的行为。 重新编译。 在运行Android 12的设备或模拟器上安装您的应用。...搭建Android12验证环境 设置一个Android模拟器 配置Android模拟器以运行Android 12是探索新功能和API以及测试Android 12行为更改的绝佳解决方案。

    4.6K10

    聚焦 Android 11: Android 11 应用兼容性

    最大限度地降低行为变更影响 : 我们的目标始终如一,即在您将应用的 targetSdkVersion 设置为 Android 11 之前,尽可能将这些变更设置为可选项,最大程度减少平台变更对应用带来的影响...更轻松的测试和调试 : 为了帮助您测试兼容性,我们将许多非兼容性变更设置为 "可关闭"。这意味着,您可以通过开发者选项或 adb 强制启用或禁用每一项更改。...动态资源加载器 : 在开发者们移除非 SDK 接口调用的同时,我们听到了来自 卓盟科技 等开发者的一个需求: 提供一个公开 API 来在运行时动态加载资源和素材。...在 Android 11 上测试 测试应用是否兼容 Android 新版本可能面临很多挑战,尤其是应用在受到多个平台变更影响的情况下。此过程中可能会出现很多问题: 如何确定应用中可能受影响的区域?...现在,您可以在运行测试的过程中,从目标设备下拉菜单中选择 多个设备 。 ? 此功能旨在帮助您在开发周期中尽早发现问题,并让您能够比较不同 Android 设备之间的差异。

    1.6K10

    Android Studio 4.1 发布,全方位提升开发体验

    由于 Android Studio 在您检查应用时会保持实时连接,因此您也可以使用 Database Inspector 对数值进行修改,并在运行的应用中查看结果。...在 Android 模拟器 30.0.26 及更高版本中,您可以使用多种折叠设计和配置对可折叠设备进行设置。设置完毕后,模拟器将提供铰链角度传感器和姿态变化信息,方便您测试应用在这些机型上的响应情况。...现在,在您添加一个方法后,可点击 Apply Code Changes 或 Apply Changes and Restart Activity 按钮将这些更改部署到正在运行的应用中。...框选 : 在 Threads 部分中,您现在可以拖动鼠标来框选一个矩形区域,并点击右上角的 Zoom to Selection 按钮 (或使用键盘快捷键 M) 来放大该区域。...所选跟踪事件内运行时间最长的实例。

    3.7K20

    游戏优化系列二:Android Studio制作图标教程

    在运行时,Android 将根据运行应用的设备的屏幕密度来使用适当的资源。...(4)在 Legacy 标签页中,查看默认设置并确认您要生成旧版、圆形和 Google Play 商店中使用的图标。...(5)(可选)在 Foreground Layer 和 Background Layer 标签页中更改每个图标的名称和显示设置: Name - 如果您不想使用默认名称,请输入新名称。...图标会显示在右侧的 Source Asset 区域以及向导底部的预览区域中。 (3)(可选)更改名称和显示选项: Name - 如果您不想使用默认名称,请输入新名称。...图标会显示在右侧的 Source Asset 区域以及向导底部的预览区域中。 (3)(可选)更改名称和显示选项: Name - 如果您不想使用默认名称,请输入新名称。

    3.7K30

    Android Studio 4.1发布:可直接运行安卓模拟器、支持 Dagger 导航和 TensorFlow Lite 模型

    无论你的应用使用 Jetpack Room 库还是直接使用 SQLite 的 Android 平台版本,现在都可以轻松地检查正在运行的应用中的数据库和表,或运行自定义查询。...由于 Android Studio 在检查应用时会保持实时连接,因此你还可以使用数据库检查器修改值,并在运行的应用中查看这些更改。...现在,如果你添加了一个方法,可以单击 Apply Code Changes 或 Apply Changes and Restart Activity 将这些更改部署到正在运行的应用。...:在 Threads 部分中,现在你可以拖动鼠标选出一个矩形区域,然后可以点击区域右上角的 Zoom to Selection 按钮(或使用键盘快捷键 M)放大选中区域。...所选跟踪事件中运行时间最长的发生实例。 ?

    4.2K30

    三星折叠屏开发者设计指南揭秘

    1.1 运行时配置变更 - 系统默认 折叠/展开的操作过程将触发系统向应用发送新布局的配置更改,包括smallestScreenSize, screenSize 和 screenLayout 的配置。...image 每当发生配置更改时,Android默认情况下会重启正在运行的Activity(先后调用onDestroy()和onCreate())。...1.2 运行时系统变更 - 自行处理 如果因性能限制等因素希望在不自动重启Activity的情况下处理配置更改,您需要在应用清单manifest中增加android:configChanges属性,...1.3 参考资料 请参阅Android开发者指南中的详细信息 – 运行时配置变更: https://developer.android.google.cn/guide/topics/resources...但朝任意方向拉伸普通位图可能导致缩放失真或图片倾斜,解决方案是使用九宫格位图,这种特殊格式的PNG文件可指定可拉伸的小像素区域,哪些区域不可拉伸。

    4.1K40

    android 之ViewStub

    在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。...那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。...这样,就可以使用ViewStub来方便的在运行时,要还是不要显示某个布局。      ...所以当需要在运行时不止一次的显示和隐藏某个布局,那么ViewStub是做不到的。这时就只能使用View的可见性来控制了。          2....所以,如果想要控制某个View(如Button或TextView)的显示与隐藏,或者想要在运行时不断的显示与隐藏某个布局或View,只能使用View的可见性来控制。

    75490

    .NET 8 中 Android 资源生成的改进和变化

    此外,每个Resource类都需要在运行时更新以获得正确的值。这是因为只有当我们构建最终应用程序并生成 R.txt 文件时,我们才知道每个资源的Id。...默认情况下,.NET 8 Android将 MSBuild 属性 $(AndroidUseDesignerAssembly) 设置为 true,完全关闭旧系统。...重新启用旧系统需要手动将此属性更改为 false。 新系统依赖于解析 aapt2 在构建过程中生成的 R.txt 文件。在运行 C# 编译器之前,将解析 R.txt 文件并生成新的程序集。...这向编译器发出信号,表明该程序集将在运行时被替换。(引用程序集是包含程序级 ReferenceAssemblyAttribute 的程序集。)...如果不包含.aar,在运行时将会出现资源丢失错误,例如: System.MissingMethodException: 'Method not found: int .Style.get_MyTheme

    25110

    Android实战技巧:ViewStub的应用

    在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。...那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。...这样,就可以使用ViewStub来方便的在运行时,要还是不要显示某个布局。...所以当需要在运行时不止一次的显示和隐藏某个布局,那么ViewStub是做不到的。这时就只能使用View的可见性来控制了。 2....所以,如果想要控制某个View(如Button或TextView)的显示与隐藏,或者想要在运行时不断的显示与隐藏某个布局或View,只能使用View的可见性来控制。

    24820

    Android 9.0 强势来袭,带来了哪些新特性?

    该 DisplayCutout 可让我们找出不应显示内容的非功能区域的位置和形状。要确定这些切口区域的存在和位置,请使用该getDisplayCutout() 方法。...Android 9通过以下更改简化了通知渠道设置: 阻止渠道组:用户现在可以在应用的通知设置中阻止整个频道组。...要更改默认设置,请传递OnHeaderDecodedListener给 decodeDrawable()或decodeBitmap()。...开发者还可以使用更新在运行时替换的UI窗格的标题setAccessibilityPaneTitle()。例如,可以为Fragment对象的内容区域提供标题 。...DEX文件的ART提前转换 在运行Android 9或更高版本的设备上,Android运行时(ART)提前编译器通过将应用程序包中的DEX文件转换为更紧凑的表示形式,进一步优化压缩的Dalvik可执行格式

    3.5K20

    翻译——N种脱壳安卓恶意软件的方式

    在运行时加载类 Android应用程序必须在AndroidManifest文件中定义其使用的服务,接收器和活动类才能使用它们。在Anubis示例中,很明显,清单文件中未定义的许多类仅存在于源代码中。...这意味着应在运行时将具有未定义类的文件加载到应用程序中。...Android中有两种主要的运行时加载方式: 从文件: 1、API26之后,dalvik.system.DexFile.loadDex 2、dalvik.system.DexClassLoader 3、...但是在此之前,让我们快速回顾一下如何在Android模拟器上设置Frida。 从以下位置下载适合您的仿真器的frida-server:( 例如Genymotion使用x86架构。)...由于Android继承自Linux,因此我们可以使用/proc/pid文件夹为我们提供有关指定进程的内存区域的信息。

    7010

    【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )

    文章目录 一、获取图像真实宽高 二、计算解码区域 三、设置解码参数 内存复用 像素格式 四、图像绘制 五、执行效果 六、源码及资源下载 官方文档 API : BitmapRegionDecoder 在...【Android 内存优化】自定义组件长图组件 ( 自定义组件构造方法 ) 基础上继续开发 ; 一、获取图像真实宽高 ---- 显示的图像是一张长图 , 在该组件中 , 宽度肯定要完整显示出来 , 解码图片的不同高度的数据...; 首先要测量图片数据的真实宽高 , 然后根据图像的宽高 , 与组件的宽高 , 以及要显示的图像位置 , 计算要解码的图像区域 ; 参考 【Android 内存优化】Bitmap 图像尺寸缩小 ( 设置...图像绘制 : ① 设置图像区域解码器 : 在为自定义组件设置图片时 , 设置区域解码器 , 因为要设置区域解码的数据源 , 因此必须在用户设置图片时 , 才可以创建区域解码器 ; ② 设置内存复用 :...方法 , 解码图片的特定区域 ; ④ 设置图片缩放 : 使用 Matrix 进行图像缩放 ; 图像与自定义组件的尺寸不同 , 因此需要将解码区域完全填充到自定义组件中显示 ; ⑤ 图像绘制 : 调用

    2K10

    Android 11 正式版发布

    主要体现在以下几个方面: 会话通知: 会显示在通知栏顶部的专门区域,其设计更凸显联系对象,且提供了会话特定的操作,例如以 Bubbles 的形式打开聊天、在主屏幕中创建会话快捷方式,以及设置提醒。...大多数 Android 设备以 60Hz 的刷新率更新屏幕,但是某些设备支持多种刷新率,例如 90Hz 和 60Hz,并可在运行时切换。在这些设备上,系统会基于首选帧率来为应用选择最佳刷新率。...动态资源加载器: Android 11 提供了一个新的公开 API 来让应用在运行时动态加载资源和素材。...通过 Resource Loader 框架,您可以在应用或游戏中包含一套基本资源,然后在运行时根据需要加载其他资源,或更改已加载的资源。...开发者体验 应用兼容性工具: 我们努力将大多数 Android 11 行为变更设置为可选择开启,从而最大限度地减少对兼容性带来的影响,除非您将应用的 targetSdkVersion 设置为 30,否则这些变更不会生效

    1.2K50

    如何使用Firewalld配置Linux主机?

    你可以在运行时环境中进行更改,不需要重新启动服务或守护程序。 使用firewalld D-Bus接口,服务,应用程序和用户都可以轻松调整防火墙设置。...运行时和永久配置的分离使得在运行时进行评估和测试成为可能。运行时配置仅在下次服务重新加载和重新启动或系统重新引导时有效,并将再次加载永久配置。...使用运行时环境,可以使用运行时的设置这些设置只在有限的时间内有效。如果运行时配置已用于评估,并已完成且正常工作,则可以将此配置保存到永久环境中。...:firewall-command --reload 记住,更改将在重启后失效,除非你设置了永久更改。...我省略了区域,因为之前我将默认区域设置为了“home”,省略区域后将对默认(home)区域进行更改。

    1.9K30
    领券