Android Shape - градиент должен идти вправо - PullRequest
3 голосов
/ 01 марта 2012

Что я пытаюсь сделать


Я пытаюсь создать Backgroud-Shape для моего приложения.Для этого я создал градиентную ведьму, начинающуюся посередине, но я хочу, чтобы она начиналась с правой стороны.Вы можете представить себе это так, будто градиент входит с правой стороны.

Вопрос


Что мне нужно изменить в моей Форме или Градиенте, чтобы этоработает?

Код


<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">



    <gradient android:gravity="right" android:type="radial" android:gradientRadius="280"
        android:startColor="#FFFFFF" android:endColor="#CBCBCB" /><!--   #e0dede" -->
</shape>

Изображение


Вот как это выглядит на данный момент!

enter image description here

Как вы видите, градиент находится посередине, я хочу, чтобы именно этот градиент начинался с правой стороны в середину экрана.

1 Ответ

11 голосов
/ 01 марта 2012

Попробуйте и увидите магию:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <gradient android:layout_gravity="right" android:type="radial" android:gradientRadius="280"
        android:centerX="100%" android:centerY="50%"
        android:startColor="#FFFFFF" android:endColor="#CBCBCB" /><!--   #e0dede" -->
</shape>

Теги android:centerX и android:centerY позволяют вам запускать градиент из любой точки экрана. Вам просто нужно указать соответствующие значения%, как я это сделал здесь. Для меня это сработало как волшебство!

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

Надеюсь, это помогло.

...