如何在显示大小改为大/小时禁用应用缩放?已尝试android:resizeableActivity无效
解决应用随系统显示大小调整的问题
首先得澄清一个关键误区:你设置的android:resizeableActivity="false"其实是用来禁止应用进入分屏/多窗口模式的,和阻止系统显示大小/字体大小缩放完全无关——这就是为什么这个设置没起作用的核心原因!
下面是针对“让应用不随系统显示大小调整”的有效解决方案:
方案1:全局强制固定缩放比例(推荐)
在自定义Application类的onCreate方法中添加代码,全局锁定应用的缩放比例为1.0(即不受系统设置影响):
Java版本
public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); Configuration config = getResources().getConfiguration(); // 强制字体缩放比例为1.0,屏蔽系统显示大小调整的影响 config.fontScale = 1.0f; // 更新配置使设置生效 getResources().updateConfiguration(config, getResources().getDisplayMetrics()); } }
Kotlin版本
class MyApp : Application() { override fun onCreate() { super.onCreate() val config = resources.configuration config.fontScale = 1.0f resources.updateConfiguration(config, resources.displayMetrics) } }
记得在AndroidManifest.xml的<application>标签中指定这个自定义Application类:
<application android:name=".MyApp" ...> ... </application>
方案2:针对单个Activity设置
如果你只想让特定Activity不受系统显示大小影响,可以在该Activity的onCreate方法中添加同样的缩放锁定代码:
Java版本
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Configuration config = getResources().getConfiguration(); config.fontScale = 1.0f; getResources().updateConfiguration(config, getResources().getDisplayMetrics()); setContentView(R.layout.activity_main); }
方案3:处理配置变化避免Activity重启
为了防止系统在显示大小变化时重启Activity,你可以在AndroidManifest.xml的目标Activity标签中添加configChanges属性,让系统通知配置变化而非重启:
<activity android:name=".MainActivity" android:configChanges="fontScale|smallestScreenSize|screenSize|orientation"> ... </activity>
然后在Activity中重写onConfigurationChanged方法,再次锁定缩放比例:
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // 重新锁定缩放比例,防止系统设置生效 newConfig.fontScale = 1.0f; getResources().updateConfiguration(newConfig, getResources().getDisplayMetrics()); }
注意事项
- 部分厂商的自定义系统(如MIUI、EMUI)可能有额外的显示缩放机制,如果上述方案无效,可以尝试在应用内提供“跟随系统显示大小”的开关,针对性适配厂商特性。
- 锁定缩放比例可能会影响部分用户的无障碍体验,建议在应用内保留可选项,让用户自主选择是否开启固定显示大小。
内容的提问来源于stack exchange,提问作者SportyAndroidDev
相关产品推荐
相关产品推荐

