【发布时间】:2012-02-24 09:53:30
【问题描述】:
在我的应用程序中,我正在使用以下 XML 构建一个按钮栏作为 UI 的一部分(请注意,这不是整个布局,只是按钮栏的一部分):
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerHorizontal="true"
android:paddingTop="10dp">
<Button android:id="@+id/btnTopObjects"
android:layout_width="70dp"
android:layout_height="55dp"
android:drawableTop="@drawable/media_guide_object"
android:text="@string/media_screen_top_objects"
android:background="@drawable/media_guide_button"
android:textSize="9dp"/>
<Button android:id="@+id/btnTrails"
android:layout_width="70dp"
android:layout_height="55dp"
android:drawableTop="@drawable/media_guide_trail"
android:text="@string/media_screen_trails"
android:background="@drawable/media_guide_button"
android:layout_marginLeft="5dp"
android:textSize="9dp" />
<Button android:id="@+id/btnEvents"
android:layout_width="70dp"
android:layout_height="55dp"
android:drawableTop="@drawable/media_guide_event"
android:text="@string/media_screen_events"
android:background="@drawable/media_guide_button"
android:layout_marginLeft="5dp"
android:textSize="9dp" />
<Button android:id="@+id/btnVenueInfo"
android:layout_width="70dp"
android:layout_height="55dp"
android:drawableTop="@drawable/media_guide_venue"
android:text="@string/media_screen_venue_info"
android:background="@drawable/media_guide_button"
android:layout_marginLeft="5dp"
android:textSize="9dp" />
</LinearLayout>
当我在 320x480 屏幕上测试它时,这会产生相当正确的结果。按钮栏看起来是这样的,这正是我想要的:
但是在具有 480x800 分辨率屏幕的设备上,相同的按钮栏看起来像这样:
真正奇怪的是四个按钮的显示方式。前三张图片按比例缩小,最后一张全尺寸显示。
所有 4 个图像都是在同一个图形程序中以相同的方式创建的。它们都是 31x31 像素 72dpi。如果它们都根据设备像素密度按比例缩小,我没有问题,但我希望 4 个图像的大小相同!我怎样才能做到这一点?
非常感谢您的任何帮助。
【问题讨论】:
-
一个可能的原因是 drawable-hdpi 文件夹中不存在“venue info”的图像,因此 drawable 或 drawable-mdpi 中的图像被放大(反之亦然)跨度>
标签: android image button image-scaling