Android13 控制设置界面 双栏显示或单栏显示

Android 13 设置界面会判断当前屏幕的大小,如果是大屏,则为双栏显示!
我的博客

复制代码
./packages/apps/Settings/src/com/android/settings/homepage/SettingsHomepageActivity.java

      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
  
          mIsEmbeddingActivityEnabled = ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this);//这里来进行判断
          if (mIsEmbeddingActivityEnabled) {
              final UserManager um = getSystemService(UserManager.class);
              final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
              if (userInfo.isManagedProfile()) {
                  final Intent intent = new Intent(getIntent())
                          .setClass(this, DeepLinkHomepageActivityInternal.class)
                          .addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
                          .putExtra(EXTRA_USER_HANDLE, getUser());
                  intent.removeFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                  startActivityAsUser(intent, um.getPrimaryUser().getUserHandle());
                  finish();
                  return;
              }
          }
  
          setupEdgeToEdge();
          setContentView(R.layout.settings_homepage_container);
          ...
          
          
/packages/apps/Settings/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
/** Whether to support embedding activity feature. */
public static boolean isEmbeddingActivityEnabled(Context context) {
    //update text
    final boolean isFlagEnabled = false;//FeatureFlagUtils.isEnabled(context,FeatureFlagUtils.SETTINGS_SUPPORT_LARGE_SCREEN);
    final boolean isSplitSupported = SplitController.getInstance().isSplitSupported();
  
    Log.d(TAG, "isFlagEnabled = " + isFlagEnabled);
    Log.d(TAG, "isSplitSupported = " + isSplitSupported);
  
    return isFlagEnabled && isSplitSupported;
}

//当isFlagEnabled和isSplitSupported都为true时为双栏显示,反之则单栏,&&表示可以只修改其中一个为false就ok了
相关推荐
恋猫de小郭34 分钟前
Flutter 3.38 发布,快来看看有什么更新吧
android·前端·flutter
百锦再6 小时前
第11章 泛型、trait与生命周期
android·网络·人工智能·python·golang·rust·go
会跑的兔子7 小时前
Android 16 Kotlin协程 第二部分
android·windows·kotlin
键来大师7 小时前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
江上清风山间明月10 小时前
Android 系统超级实用的分析调试命令
android·内存·调试·dumpsys
百锦再10 小时前
第12章 测试编写
android·java·开发语言·python·rust·go·erlang
用户693717500138414 小时前
Kotlin 协程基础入门系列:从概念到实战
android·后端·kotlin
SHEN_ZIYUAN14 小时前
Android 主线程性能优化实战:从 90% 降至 13%
android·cpu优化
曹绍华14 小时前
android 线程loop
android·java·开发语言
雨白14 小时前
Hilt 入门指南:从 DI 原理到核心用法
android·android jetpack