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了
相关推荐
yueqc110 分钟前
Android 线程梳理
android·线程
顾林海35 分钟前
Android登录模块设计:别让“大门”变成“破篱笆”
android·经验分享·面试·架构·移动端
嵌入式-老费1 小时前
Android开发(总结)
android
php_kevlin1 小时前
websocket实现站内信
android·websocket·网络协议
美团骑手阿豪1 小时前
Unity适配 安卓15+三键导航模式下的 底部UI被遮挡
android·智能手机
张海龙_China1 小时前
Android 上架Google Play ~16KB内存页机制适配指南
android
blackorbird2 小时前
Android Pixel 9 的零点击漏洞利用链全解析:从发送杜比音频解码到内核提权
android·音视频
liux35282 小时前
MySQL执行计划与索引优化全面解析(三)
android·mysql·adb
上天_去_做颗惺星 EVE_BLUE2 小时前
Android设备与Mac/Docker全连接指南:有线到无线的完整方案
android·linux·macos·adb·docker·容器·安卓
zhangphil2 小时前
Android显示系统性能分析:trace的HWUI All Memory与HWUI Misc Memory
android