不同屏幕密度的手机的应用布局问题

时间:2019-01-15 04:36:34

标签: android android-layout huawei screen-density

我在以下手机上的应用布局存在问题。在第一个手机的布局看起来不错,但是在第二个手机的布局并不完全像第一个。 虽然我将xml文件放在(Layout-w480dp)文件夹中,但我没有使用约束布局

华为G8: Photo 分辨率:1920 x 1080像素 屏幕密度:403 ppi 屏幕密度(DPI):480 ppi(xxhdpi)                        (640dp)x(360dp)

华为Y9: Photo 分辨率:2160 x 1080像素 屏幕密度:407 ppi 屏幕密度(DPI):480 ppi(xxhdpi)                        (720dp)x(360dp)

谢谢

1 个答案:

答案 0 :(得分:0)

将此属性添加到xml textView中的app:autoSizeTextType="uniform"中 这将调整文本大小以适合textview区域

  <TextView
    android:layout_width="50sp"
    android:layout_height="50sp"
    android:text="Hello World!"
    app:autoSizeTextType="uniform"    
    tools:ignore="MissingPrefix" />

要进行进一步的自定义,您可以设置

    app:autoSizeMaxTextSize="100sp"
    app:autoSizeMinTextSize="20sp"
    app:autoSizePresetSizes="@array/autosize_text_sizes"

其中autosize_text_sizes是arrays.xml值res文件中的数组  通过右键单击值->新建->值资源文件->将其命名为arrays.xml ,它会根据文本区域的可用性动态选择文本大小

<?xml version="1.0" encoding="utf-8"?>
<resources>

<array name="autosize_text_sizes">
    <item>10sp</item>
    <item>50sp</item>
    <item>150sp</item>
</array>