代码之家  ›  专栏  ›  技术社区  ›  thelawnmowerman

强制所有布局在超大屏幕上具有最大面积

  •  0
  • thelawnmowerman  · 技术社区  · 7 年前

    我想要的显然正是 screen compatibility mode

    在Android版本1.6到3.1中,系统以一种全新的方式运行应用程序 “邮票”窗口。它模拟了一个320dp x 480dp的屏幕 填充屏幕剩余区域的黑色边框。

    在android3.2及更高版本上,该系统会像在windows上一样绘制布局

    我只是不想扩大规模。你有什么想法而不必为此编辑每一个版面?(无需提供 res/layout-large/ 版本为每一个单独的布局,依文而定)。

    0 回复  |  直到 7 年前
        1
  •  0
  •   MaTriXy    6 年前

    这需要更多的逻辑和工作,但您可以:

    • 将布局包含在父布局/自定义视图中。
    • 例如,自定义视图将扩展FrameLayout,并将查找将大小限制为大屏幕设备上的中心块或您希望支持的设备上的全屏的标志。

    希望这有帮助。

    ==== 重写SetContentView函数并在那里添加逻辑—如果屏幕尺寸较大,则使用一个容器将布局限制在一个中心正方形中,或者直接调用super,代码正常。

        2
  •  0
  •   DeË£    6 年前

    1声明最大纵横比

    你可以定义 android:resizeableActivity 对于整个应用程序或特定活动。对于android7.1(API级别25)或更低版本,以及android8.0(API级别26)或更高版本的设备,这种行为几乎没有什么不同。对于Android 8.0(API级别26)及更高版本,您可以定义 android:MaxAspectRatio 在Activity标签中,对于Android 7.1及更低版本,您可以定义 android.max_aspect

    2声明最大屏幕大小

    你可以阅读更多关于 Screen Distributions

    我希望这有帮助:)