2014-10-29 3 views
5

Я хочу, чтобы достичь чего-то, похожее на следующее: enter image description hereAndroid - Сделайте часть изображения, воспроизводимого в андроиде?

Обратите внимание, как изображение шаблона справа от треугольника повторяется до тех пор, пока не попадает в край экрана. Кроме того, треугольник на самом деле не будет треугольником (т. Е. Изображение не будет простой формой), поэтому, пожалуйста, имейте это в виду. Я совершенно новичок в Android и знаю, что в iOS можно установить часть изображения для повторения. Я не уверен, что это правда и для Android, и если да, то как? Если нет, то каков будет рекомендуемый подход?

ответ

6

Чтобы повторить изображение, вы можете установить TileMode для этого растрового изображения. Для того, чтобы переместить его в вашем случае справа вы можете определить слой-лист вытяжку и дать пункту его левое свойство:

tile_background.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <bitmap android:src="@drawable/tile_start" android:gravity="left|bottom"/> 
    </item> 
    <item android:left="60px"> 
     <bitmap android:src="@drawable/tile" android:tileMode="repeat"/> 
    </item> 

</layer-list> 

лишь некоторую раскладка:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <View 
     android:id="@+id/view1" 
     android:layout_width="wrap_content" 
     android:layout_height="26dp" 
     android:background="@drawable/tiled_background" /> 

</LinearLayout> 

enter image description here

+0

Спасибо, я думаю, что это будет работать для более простых форм, но мои изображения немного сложнее. Подход с 9 патчами - это, вероятно, способ, как упоминалось выше в Patty P. См. Комментарии, которые я поставил под своим сообщением для получения более подробной информации. – TomTaila

+1

Я знаю, что рисунки Draw-9 есть ;-), но они используются для определения части, которую можно растянуть, а не повторять. Я боюсь (масштабируемые кнопки с градиентами или что-то еще). Вы можете дать более конкретный пример того, что вы пытаетесь получить. – blender

+0

Вы абсолютно правы, спасибо за подход, на самом деле это помогает с более сложными решениями, которые обрабатываются с помощью 9 патчей. Для моего случая 9 патч достаточно, но для гибкости этот ответ прекрасен. Спасибо! – TomTaila

2

Если я правильно понимаю, что вы можете захотеть взглянуть на NinePatch изображениях http://developer.android.com/reference/android/graphics/NinePatch.html

Девять патч изображения является «умным» в том смысле, что они могут иметь определенные границы, которые могут быть растянуты и повторять по мере необходимости. Вот быстрый инструмент, который может дать лучшее представление об этом, http://romannurik.github.io/AndroidAssetStudio/nine-patches.html

+1

Спасибо, я считаю, что вы поставили меня в правильном направлении. Вот две ссылки, которые подробно описывают вещи: Простой обзор: http://wiresareobsolete.com/2010/06/9-patches/ Спецификации: http://developer-dot-android.blogspot.com/2012 /03/android-9-patch-image-tutorial.html – TomTaila