我正在尝试支持不同的屏幕尺寸,如指南https://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts所示。
我有5个不同的可绘制文件夹:
drawable(图片大小40x48png)
drawable-mdpi(图片大小80x96png)
drawable-hdpi(图片大小120x144png)
drawable-xhdpi(图片大小160x192png)
drawable-xxhdpi(图片大小210x252png)
我的项目包括每种尺寸的5个不同的布局文件夹: 300dp,330dp,480dp,600dp,720dp。每个文件夹都有相同的layout.xml文件。
我的布局代码:
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_margin="15dp"
android:text="Truuuuu"
android:textColor="#000000"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.39"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/textView2"
android:layout_marginTop="60dp"
android:background="#ffffff"
android:orientation="horizontal"
android:id="@+id/relativeLayout">
<ImageView
android:id="@+id/off50"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:src="@drawable/off50" />
<TextView
android:id="@+id/akcija"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="pewpew!"
android:textSize="20sp"
android:layout_alignTop="@+id/off50"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/off50"
android:textColor="#000000"/>
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/off50"
android:layout_alignParentEnd="true"
android:text="pewpew"
android:textColor="#000000"
android:textSize="20sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp"
android:layout_alignStart="@+id/relativeLayout"
android:layout_below="@+id/relativeLayout">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/idk"/>
</RelativeLayout>
我的问题是..我有不同的图像文件夹和图像文件吗?我也制作了布局文件夹。我的文字也没有缩放,例如,在layout-sw720dp上,我几乎可以阅读文本。
我该怎么做才能支持文字缩放?为什么图像不会在不同的屏幕尺寸上缩放?
答案 0 :(得分:0)
好的,你很困惑。
如果每个sw文件夹中都有相同的布局文件,请不要这样做。如果您具有该大小的不同屏幕布局,则只能编写新的布局文件。请注意,这意味着全新或已删除的元素或更改的位置。如果您只是更改值,则使用值文件。
请记住,您链接的页面虽然是一个很好的资源,但却提到了您可以执行的多项操作。你不应该做所有这些,事实上其中一些是矛盾的。正确的做法取决于你想要看的东西。
对于图像缩放 - 您将根据屏幕密度进行缩放。这意味着具有相同密度的所有设备将使用相同的drawable,这将使其看起来具有相同的物理尺寸,但不会相对于设备的尺寸而言。这可能是也可能不是你想要的。如果不是,您可能希望在图像的dp中定义固定大小或使其成为match_parent并使用scaleType来缩放它。
对于文字大小 - 你到处都是固定的文字大小20sp。这将使所有设备的高度相同。通常,在不同的屏幕尺寸上制作更大的文字并不是很重要。如果需要,请将20sp作为维度,并根据大小在dimen.xml文件中为其设置不同的值。
向你提供更多信息确实需要更多信息 - 你想要达到的目标是什么以及你得到的是什么。