Android系统。布局背景延伸

时间:2012-07-12 09:05:08

标签: android background screen

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

android:background="@drawable/remy_menu_background"但该死的东西按照屏幕延伸,卡片和桌子看起来很紧张。

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

3 个答案:

答案 0 :(得分:9)

您可以使用使用标记的XML drawable来禁用拉伸:

<bitmap android:src="@drawable/background" android:gravity="center" />

答案 1 :(得分: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>

答案 2 :(得分:1)

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