0

所以我在画位图的地方有这个画布

一个例子是位图作为背景..所以我将在我的 533x320 dip Samsung S2 上制作这个全屏

所以,当我在一个 480x320 dip 的 HTC 上加载同一个应用程序时,我的背景图像现在会比屏幕大 - 这通常是如何处理的?

我知道有些人可能会回答说我可以只检查 DIP 大小并使用它.. 这也适用于这个背景图像.. 但是我拥有的 10 个国际象棋棋子没有一个不在屏幕之外,因为它扩展了 HTC 的 480dp 但在我的 533dp S2 上效果很好?

这通常是如何处理的?

4

2 回答 2

0

有很多方法可以做到这一点。确保始终使用 fill_parent 或 wrap_Content 作为宽度和高度属性。如果是基于百分比的宽度,请为您的布局使用 LinearLayout 并使用 Layout_weight 属性来提供宽度或高度。

如果您使用布局权重属性,请记住将宽度或高度指定为 0dp。

于 2012-01-06T02:51:13.660 回答
0

我这样做的方法是为背景/drawable/backrepeat.xml 制作一个可在两个方向上重复图像(metalgrid.jpg)的可绘制对象。

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/metalgrid"
android:tileMode="repeat"
android:dither="true" />

然后我就有了风格

<style name="page_background_gen">
    <item name="android:background">@drawable/backrepeat</item>
</style>

然后我在我的布局中使用这种风格

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" 
android:id="@+id/relativeLayout1" 
style="@style/page_background_gen"
android:layout_width="fill_parent">
....
</RelativeLayout>

这将用重复的图像填充背景,而不会混淆图像的比例。

于 2012-01-06T03:00:20.227 回答