我想在RelativeLayout 中放置一个背景图像。背景图像中有一些物体,比如椅子、桌子、一些卡片等。
android:background="@drawable/remy_menu_background"
但是这该死的东西在屏幕上被拉长了,卡片和桌子看起来被拉长了。
我应该怎么做,所以它在任何屏幕上看起来都不错?
我想在RelativeLayout 中放置一个背景图像。背景图像中有一些物体,比如椅子、桌子、一些卡片等。
android:background="@drawable/remy_menu_background"
但是这该死的东西在屏幕上被拉长了,卡片和桌子看起来被拉长了。
我应该怎么做,所以它在任何屏幕上看起来都不错?
您可以使用使用标签禁用拉伸的 XML 可绘制对象:
<bitmap android:src="@drawable/background" android:gravity="center" />
<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>
您可以在这种情况下使用 .9.png 图像,并可以指定图像的哪个区域应该拉伸,哪些不应该拉伸。您可以使用 android-sdk 内“tools”文件夹下的“draw9patch”工具将任何 png 转换为 .9.png。