为多个屏幕分辨率创建图像

时间:2011-11-23 11:36:23

标签: android image android-layout

我正在为我的应用设计一个页面,其中我使用了两个图像和一些垂直文本视图。但是当我使用不同的分辨率在模拟器中启动应用程序时,图像会变形。我使用了9-patch.png,但发现它已经从Android 3.0中弃用了,如果我正在开发2.3及以上的应用程序,我可以使用它吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

 android:layout_height="fill_parent"
 android:layout_width="fill_parent"
 android:background="#FFFFFF" android:orientation="horizontal">
 <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical">
    <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:background="@drawable/auto" android:layout_height="wrap_content"></ImageView>
    <LinearLayout android:id="@+id/linearLayout3" android:layout_width="match_parent" android:layout_height="wrap_content">
        <TextView android:text="Home"  android:textColor="#FF0000" android:id="@+id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
        <TextView android:text=">Products"  android:textColor="#FF0000" android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    </LinearLayout>

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView3" android:text="Replacement Parts" android:textColor="#000000" ></TextView>
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView2" android:text="Accessories"       android:textColor="#000000" android:focusable="true"     android:layout_gravity="left" android:cursorVisible="true" ></TextView>
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView6" android:text="Tools Equipment"   android:textColor="#000000" ></TextView>
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView4" android:text="Fluids Chemicals"  android:textColor="#000000"  ></TextView>
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView5" android:text="Performance"       android:textColor="#000000" android:onClick="Perform"    ></TextView>
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/test_9patch_patched" >
    </ImageView>
</LinearLayout>

如果除了9-patch.png图片之外还有其他方法,请告知我们。

3 个答案:

答案 0 :(得分:1)

我还没有读过在3.0中弃用的9-patch。你能引用消息来源吗?

如果要为不同的屏幕使用不同的图像尺寸,可以按照此列表进行操作 (我认为名称解释了它的用法):

drawable-hdpi
drawable-large-hdpi
drawable-large-ldpi
drawable-large-mdpi
drawable-large-xhdpi
drawable-ldpi
drawable-mdpi
drawable-normal-hdpi
drawable-normal-ldpi
drawable-normal-mdpi
drawable-normal-xhdpi
drawable-small-hdpi
drawable-small-ldpi
drawable-small-mdpi
drawable-small-xhdpi
drawable-v4
drawable-xlarge
drawable-xlarge-hdpi
drawable-xlarge-ldpi
drawable-xlarge-mdpi
drawable-xlarge-xhdpi

布局:

layout
layout-land
layout-land-ldpi
layout-ldpi
layout-xlarge-land-v11
layout-xlarge-v11
...

答案 1 :(得分:0)

您可以使用photoshop或其他图像编辑工具为各种屏幕制作不同像素大小的图像,并将它们放在hdpi,ldpi和mdpi可绘制文件夹中。

系统会根据设备的分辨率自动选择图像。

答案 2 :(得分:0)

如果您的问题是“我可以在2.3及以上版本中使用9个补丁吗?”我会问你“是的,确实,我这样做没有问题”。不幸的是,我不知道它自3.0以来就被弃用了。我喜欢这个功能。