2015-12-15 3 views
1

я хочу сделать резкий черно-белый градиент, как этот enter image description hereкак сделать резкий градиент Drawable

все я сделал это

enter image description here

это мой вытяжке файл

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<gradient 
    android:startColor="#000" 
    android:endColor="#fff" 
    android:centerColor="#fff" 
    /> 
</shape> 

любая идея, как это сделать!

+0

Тогда вы не хотите ** градиент ** вообще. Вам нужно только 2 цвета - без перехода. –

ответ

1

Как и другие уже заметили, эффект, который вы хотите для того чтобы достигнуть не градиент. Если я понимаю, что вы пытаетесь достичь flexible image, раздел: 1: 1.

Получение этого не возможно ни через .xml файл, ни через 9patch (вы теряете резкий переход между черным и белым).

Первое решение заключается в использовании LinearLayout и layout_weight s. Вы можете добавить 'layer' к вашему макету - если бы это был фон - под другими компонентами. Это «слоя» выглядит следующим образом:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <View 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:background="@android:color/black"/> 

    <View 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:background="@android:color/white"/> 

</LinearLayout> 

Если вы используете один или два раза в макете эта дополнительная/вложенной компоновка не будет проблемой, но избежать таких решений внутри элементов коллекции.


Вы также можете попробовать с обычного двухцветной PNG файла и ImageView. (Совет: Подходящие размеры этого файла может дать вам резкий переход.)


Третий способ сделать это, в легкий один, но отнимает немного времени, чтобы переопределить View.onDraw() метод и краски как половины до того, как будет составлено другое содержимое.

2

Для этого есть отличный веб-сайт, просто перейдите на вкладку «android». Вот эта ссылка: Angrytools.com

+0

это очень хороший ответ и хорошая помощь памяти, Vote Up, но для ответа на основе ссылок вы можете добавить их в качестве комментариев. – theLazyFinder

+0

Конечно, в следующий раз это то, что я сделаю. –

+1

отличный сайт, спасибо большое! – Sarah

0

Прежде всего, согласно вашему изображению это только черный цвет. Таким образом, вы можете использовать простой твердый, чтобы сделать это, как

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

    <solid android:color="#000000" /> 

</shape> 
+0

его черно-белый, но его двойная ширина - второе изображение. – Sarah

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