ImageButton不会根据不同的分辨率进行缩放/调整

时间:2013-01-08 09:58:43

标签: android

我在RelativeLayout中放置了一个图像按钮。 但是我似乎无法弄清楚我需要做什么才能使按钮按照不同的分辨率进行缩放。

以下是我的activity_main.xml的内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/RelativeLayout1"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">

    <ImageView
         android:id="@+id/imageView1"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:layout_centerHorizontal="true"
         android:layout_centerVertical="true"
         android:src="@drawable/background" android:scaleType="fitCenter" android:gravity="center"/>

     <ImageButton
         android:id="@+id/imageButton1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_centerHorizontal="true"
         android:layout_centerVertical="true"
         android:background="@null"
         android:onClick="startVideo"
         android:scaleType="fitCenter"
         android:src="@drawable/button" android:layout_marginBottom="50dp"/>

</RelativeLayout>

background.png是放置在mdpi文件夹(1280x800px)中的图像,button.png也放在mdpi文件夹(757x271px)中。

如果我以1280x800px分辨率(galaxy tab)运行我的应用程序,它看起来很好,但是当我尝试在手机上运行应用程序时,ImageButton不会缩小 - 它保持原始大小(757x271px)。

有没有人知道这方面的解决方案?

2 个答案:

答案 0 :(得分:0)

您是否使用layout-large,layout-small等修饰符创建了替代布局资源?如果您只有一个布局,则无法保证在任何屏幕上正确缩放。另请考虑为相关视图 dp 指定尺寸

答案 1 :(得分:0)

我只是使用一张像我想要的那样按比例缩小的大图像而放弃解决这个问题。

所以最后我必须为图像按钮创建不同版本的图像,并将它们放在正确的文件夹中,即:

drawable-large-hdpi
drawable-large-mdpi
drawable-normal-hdpi
drawable-normal-mdpi
etc.

然后我从ImageButton获得所需的结果。 非常感谢Maver1ck和talhakosen的帮助,您的评论帮助我了解了不同的资源文件夹如何用于图像和布局。