Подтвердить что ты не робот

Повторить изображение с помощью ImageView в RelativeLayout

Я хочу повторить изображение с ImageView с помощью RelativeLayout. Можно ли использовать Bitmap xml и использовать tilemode "repeat" с RelativeLayout, потому что то, что я видел в Интернете, все они имеют дело с LinearLayout.

Любая помощь или подсказка будут тепло приветствоваться.

4b9b3361

Ответ 1

Создайте XML файл с именем background в папке Жесткая

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" />

Ответ 2

Да, конечно, вы можете использовать его с относительной компоновкой. Используйте его в качестве фона вашего 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"/> 

Ответ 3

Да, возможно. Определите свое повторяющееся изображение как Drawable (bitmap) с android:tileMode="repeat" в XML и используйте его в качестве фона вашего RelativeLayout.

Ответ 4

Во всех запросах существует одна маленькая проблема, если изображение будет большим и меньшим, чем размер вашего макета, изображение не будет изменяться, только повторите X. Для повтора Y вы можете делать это только программно.

Я решаю свою проблему следующим образом (установите гравитационную заливку)

drawable bg для изображения

<?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 и height = 1px

и т.д., поэтому теперь ваш образ будет похож на фон, и он будет изменен для любого размера родительского макета.

Попробуй, может быть, поможешь. Чтобы очиститься в моем случае, мне нужно сделать черепичное фоновое изображение до полного размера таблицы, повторяемой координатой X (например, я могу сделать это на iOS). Поэтому я решаю его, как я описываю.