不同外观在相同尺寸的屏幕上具有不同的dpi

时间:2017-12-22 11:13:39

标签: android

如何针对不同的屏幕尺寸处理“dp”或“px”,以便我的应用支持多个屏幕?

2 个答案:

答案 0 :(得分:0)

为了让您的应用程序在不同的设备上看起来相同,可以使用drawable和dimension文件夹结构,对于所有不同的屏幕尺寸和密度,drawable看起来相同。

除了该应用程序之外,还可以针对不同的屏幕尺寸和特定设备制作不同的可绘制文件夹。

以下是两者的文件夹名称列表。

不同屏幕分辨率的可绘制文件夹:

480x800 - drawable-hdpi - Sony Expedia
600x1024 - drawable-large-hdpi - Samsung tab2
720x1280 - drawable-xhdpi - Samsung s3
800x1280 - drawable-large-tvdpi - Nexus 7 tab
1080x1920 - drawable-xxhdpi - S4,Nexus5
1200x1920 - drawable-large-xhdpi - New nexus 7
1440X2560 - drawable-xxxhdpi - Nexus 6,Samsung S6edge

不同屏幕分辨率的Dimen文件夹:

values-sw300dp
values-sw330dp
values-sw360dp
values-sw390dp
values-sw420dp
values-sw450dp
values-sw480dp
values-sw510dp
values-sw540dp
values-sw570dp
values-sw600dp
values-sw630dp
values-sw660dp
values-sw690dp
values-sw720dp
values-sw750dp
values-sw780dp
values-sw1080dp
values-v21
values-v24
values-w820dp

答案 1 :(得分:0)

您使用一个库为所有屏幕设置相同的大小。接下来将依赖项添加到项目级别的gradle文件中。

    compile 'com.intuit.sdp:sdp-android:1.0.4'

然后在任何视图控件中使用xml之后给出如下的大小。在工作所有屏幕中定义大小。

   <EditText
            android:id="@+id/edevEtEventName"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="@string/title"
            android:layout_marginRight="@dimen/_5sdp"
            android:paddingTop="@dimen/_5sdp"
            android:paddingBottom="@dimen/_5sdp"
            android:paddingLeft="@dimen/_10sdp"
            android:paddingRight="@dimen/_10sdp"
            android:textSize="@dimen/_13sdp"
            />