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了
相关推荐
每次的天空37 分钟前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
恋猫de小郭1 小时前
Flutter Widget Preview 功能已合并到 master,提前在体验毛坯的预览支持
android·flutter·ios
断剑重铸之日2 小时前
Android自定义相机开发(类似OCR扫描相机)
android
随心最为安2 小时前
Android Library Maven 发布完整流程指南
android
岁月玲珑2 小时前
【使用Android Studio调试手机app时候手机老掉线问题】
android·ide·android studio
还鮟6 小时前
CTF Web的数组巧用
android
小蜜蜂嗡嗡8 小时前
Android Studio flutter项目运行、打包时间太长
android·flutter·android studio
aqi008 小时前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
zhangphil9 小时前
Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
android
你过来啊你10 小时前
Android View的绘制原理详解
android