2

我想在RelativeLayout 中放置一个背景图像。背景图像中有一些物体,比如椅子、桌子、一些卡片等。

android:background="@drawable/remy_menu_background"但是这该死的东西在屏幕上被拉长了,卡片和桌子看起来被拉长了。

我应该怎么做,所以它在任何屏幕上看起来都不错?

4

3 回答 3

9

您可以使用使用标签禁用拉伸的 XML 可绘制对象:

<bitmap android:src="@drawable/background" android:gravity="center" />
于 2012-07-12T09:06:39.380 回答
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
    android:id="@+id/main_backgroundImage"
    android:layout_width="match_parent" // comment: stretches picture in the width if too small. 
                                           use "wrap_content" does not stretch, but leaves space
    android:layout_height="match_parent" // in my case I always want the height filled
    android:layout_alignParentTop="true"
    android:scaleType="centerCrop" // will crop picture left and right , so it fits in height and keeps aspect ratio
    android:contentDescription="@string/image"
    android:src="@drawable/your_image" />

<LinearLayout
    android:id="@+id/main_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
</LinearLayout>
于 2013-11-29T05:29:24.440 回答
1

您可以在这种情况下使用 .9.png 图像,并可以指定图像的哪个区域应该拉伸,哪些不应该拉伸。您可以使用 android-sdk 内“tools”文件夹下的“draw9patch”工具将任何 png 转换为 .9.png。

于 2012-07-12T09:14:39.387 回答