2012-05-27 6 views
7

У меня есть следующий вытяжке набор как LinearLayout фон:Android радиальный градиент

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


    <item> 
     <shape android:shape="rectangle"> 
     <gradient 
      android:startColor="#ffff0000" 
      android:endColor="#ff00ff00" 
      android:centerX="50%" 
      android:centerY="50%" 
      android:gradientRadius="50%" 
      android:type="radial"/> 
     </shape> 
    </item> 
</layer-list> 

В соответствии с docs, gradientRadius может быть установлен в процентах от окна/родительского размера. К несчастью ... это не работает. Радиус равен 0. Что я делаю неправильно? Или что не так с Android?

Мне нужен радиальный градиент, чтобы заполнить весь экран. Каков обходной путь?

+0

Я отношу его к макету, а также текст, чтобы заполнить весь экран, могу я пропустить понять, что вам нужно –

+0

Я никогда не мог получить нецелое значение как Гардиент Радиус. Все примеры, которые я нашел, находятся в пикселях, даже не в падении. В качестве обходного пути вы можете создать код с возможностью рисования и задать радиус после измерения вида. – yoah

ответ

5

если я хорошо понимаю, что вам нужно, вы должны сделать макет, который referded по вытяжке

("match_parent"),

, как показано ниже:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/"your drawable xml name"> 

надежду, что эта помощь.

+0

не работает для меня. он всегда занимает 1px базовую ширину. поэтому 500% [p] дает мне 5px радиус – deej

12

Немного поздно, но, согласно документам, вы должны установить «50% p», а не «50%». (Обратите внимание на 'p', который указывает 'parent')

 Смежные вопросы

  • Нет связанных вопросов^_^