多屏支持的最佳方式 - Android Studio

问题描述 投票:1回答:3

要支持多种屏幕尺寸,最好的方法是什么?在我的清单中,我创造了

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="true" />

我也创造了不同的版面尺寸和尺寸

layout-small
layout-normal
layout-large
layout-xlarge

我必须单独编辑哪些布局以适合所有屏幕。但随后一些手机屏幕能够检测到不同的屏幕尺寸布局,但仍然存在一些对齐差异。而对于某些手机,布局将不在屏幕上。

这是正确的方法吗?或者是否有其他替代屏幕支持方式?

所以我必须单独更改所有布局?有没有比逐个改变布局更好的方法?因为我的项目总共有30多个布局。所以,如果我创造

layout-small
layout-normal
layout-large
layout-xlarge,

将有超过100种不同的布局可供编辑。谢谢。

android android-screen-support
3个回答
0
投票

一套六个广义密度: -

ldpi(低)~120dpi mdpi(中)~160dpi hdpi(高)~240dpi xhdpi(超高)~320dpi xxhdpi(超高 - 高)~480dpi xxxhdpi(超额外超高)~640dpi

屏幕尺寸:-

xlarge屏幕至少960dp x 720dp大屏幕至少640dp x 480dp正常屏幕至少470dp x 320dp小屏幕至少426dp x 320dp

为不同的屏幕尺寸提供不同的布局: -

可用于提供特定于大小的资源的配置限定符是small,normal,large和xlarge。例如,超大屏幕的布局应该在layout-xlarge /中

如需进一步参考,请使用tis链接: -

http://developer.android.com/guide/practices/screens_support.html


0
投票

如果您的布局在不同的屏幕/方向上保持不变,我建议您只在layout文件夹中放置一个布局,并使用RelativeLayout或ConstraintLayout动态调整不同屏幕尺寸的内容。尽量不要硬编码UI组件的位置(以像素为单位)并坚持相对定位。


0
投票

您可以使用可以处理屏幕尺寸的所有尺寸的库

/**
 * For All Dimensions excepts textview and Edit text sizes
 */
implementation 'com.intuit.sdp:sdp-android:1.0.5'
/**
 * For TextView and Edit Texts Sizes.
 */
implementation 'com.intuit.ssp:ssp-android:1.0.6'
© www.soinside.com 2019 - 2024. All rights reserved.