1

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

这是我的 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 分辨率(星系标签)上运行我的应用程序,它看起来很好,但是当我尝试在我的手机上运行应用程序时,ImageButton 不会缩小 - 它保持原始大小(757x271px)。

有谁知道这个的解决方案?

4

2 回答 2

0

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

于 2013-01-08T10:43:51.383 回答
0

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

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

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

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

于 2013-01-08T22:34:32.597 回答