使用RelativeLayout中的ImageView重复Image

时间:2012-09-04 11:39:42

标签: android bitmap android-imageview android-relativelayout

我想在ImageView中使用RelativeLayout重复该图片。是否可以使用Bitmap xml并将tilemode "repeat"RelativeLayout一起使用,因为我在互联网上看到的东西都与LinearLayout有关。

欢迎任何帮助或提示。

4 个答案:

答案 0 :(得分:73)

Drawable 文件夹

中创建名为background的XML文件

<强> background.xml

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

在您的相对布局中,将上述XML添加为背景

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background" />

答案 1 :(得分:10)

是的当然,你可以使用相对布局。将它用作RelativeLayout的背景。我也在我的项目中使用它。

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:background="@drawable/top_header_bg_repeat"
        android:gravity="center">

top_header_bg_repeat.xml (in drawable folder)
----------------------------------------------

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

Set Bitmap in ImageView
----------------------   

<ImageView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/top_header_bg_repeat"
        android:scaleType="fitXY"/> 

 <ImageView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/top_header_bg_repeat"/> 

答案 2 :(得分:3)

是的,它可能。使用XML中的Drawable (bitmap)将重复图像定义为android:tileMode="repeat",并将其用作RelativeLayout的背景。

答案 3 :(得分:2)

在所有请求中都存在一个小问题,如果你的图像会很大而且尺寸小你的布局大小,图像不会调整大小,只能重复X. 如果重复Y,你只能编程。

我解决了这个问题(设置重力填充)

drawable bg for image

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

和布局

<?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="@dimen/table_cell_height">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="@dimen/table_cell_height"
        android:scaleType="fitXY"
        android:src="@drawable/table_cells_bg"/>
<TextView
        android:id="@+id/txtActivityTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/avatarImage"
        android:text="TextView"
        android:textColor="@color/white"
        android:textSize="@dimen/font_size_middle" />
</RelativeLayout>

并且table_cells_bg_img是宽度= 1px且高度= 1px的图像

等布局,所以现在你的图像就像背景一样,它会针对任何尺寸的父布局调整大小

试试,也许有帮助。要在我的情况下清除我需要平铺背景图像到X坐标重复的全尺寸tablecell(就像我可以在iOS上做)。所以我像我描述的那样解决它。