在Android中使用ImageView以XML格式化图像

时间:2012-01-17 17:46:18

标签: android xml image tiling

我正在尝试在背景上拍摄图像,直到背景已满。

我目前的代码是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/cartoonclouds"
    android:contentDescription="@string/desc"
    android:tileMode="repeat" />
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/hello" />
  </LinearLayout>
</RelativeLayout>

然而,这只是使图像覆盖(不是平铺)从下到上,而不是从左到右。我该怎么办?

编辑:尝试使用XML版本:

<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:tileMode="repeat"
    android:src="@drawable/cartoonclouds" />

main.xml可以在SAME文件夹中找到该XML文件的cartooncloud,但找不到该XML文件。

1 个答案:

答案 0 :(得分:33)

首先,将图像放在res / drawable / cloud.png等文件中。这使您的应用程序可以作为@ drawable / cloud访问。但它没有瓦片(还)。

接下来,您应该使用android定义位图资源(1):tileMode =“repeat”。例如,您可以在mytileablebitmap.xml上定义它:

<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat" 
android:src="@drawable/cloud"/>

这是引用您的原始图块图像(可绘制/云)并制作一个Drawable,它知道如何平铺自己以填充可用空间。

然后,当您想使用平铺背景时,请使用“@ drawable / mytileablebitmap”。

(1):http://developer.android.com/guide/topics/resources/drawable-resource.html