31

我想用ImageViewwith in重复图像RelativeLayout。是否可以使用 Bitmap xml 并使用 tilemode "repeat"RelativeLayout因为我在 Internet 上看到的东西都在处理LinearLayout

任何帮助或提示都将受到热烈欢迎。

4

4 回答 4

83

在Drawable文件夹中创建一个名为 background 的 XML 文件

背景.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="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:background="@drawable/background" />
于 2012-09-11T11:59:36.493 回答
9

是的,当然,您可以将它与相对布局一起使用。将其用作您的 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"/> 
于 2012-09-04T11:44:35.110 回答
2

是的,有可能。像在 XML 中一样定义重复图像,Drawable (bitmap)并将android:tileMode="repeat"其用作RelativeLayout.

于 2012-09-04T11:43:29.527 回答
1

在所有请求中都存在一个小问题,如果您的图像会很大并且更小您的布局大小,图像不会调整大小,只能按 X 重复。对于按 Y 重复,您只能通过编程方式进行。

我这样解决我的问题(设置重力填充)

图像的可绘制背景

<?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 坐标重复的完整大小的表格单元(就像我可以在 iOS 上那样)。所以我像我描述的那样解决它。

于 2012-09-13T14:09:17.033 回答