2016-08-19 2 views
3

Я пытаюсь создать XML градиент вытяжке, чтобы соответствовать этому стилю, упомянутые в Material Design guidelinesрисуем центр Градиент XML не работает

Gradient guideline

Это мой XML код:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
     android:angle="270" 
     android:centerY="30%" 
     android:endColor="@android:color/transparent" 
     android:startColor="#4d000000" 
     android:type="linear"/> 
</shape> 

Я уже пробовал чтобы установить значение центра Y равно 0,3, без успеха. Выбираемые всегда выглядят одинаково в предварительном просмотре.

Может ли кто-нибудь сказать мне, что делать, чтобы достичь этого стиля? Заранее спасибо.

ответ

4

Я не совсем понимаю вашу ошибку. Возможно, вам сначала нужно установить centerColor. Возьмите взгляд на документы, если вы еще не:

https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html

Но прежде, чем суетиться с XML Drawable, который даст вам линейный градиент, я предлагаю вам использовать попытку Roman Nuriks к этой проблеме. См. Больше здесь: https://plus.google.com/+RomanNurik/posts/2QvHVFWrHZf Он решил проблему, используя Java-реализацию Drawable. Работает как любой другой доступный.

+1

Мне действительно нужно было установить centerColor. Кодекс Романа Нурика замечательный, но мне он действительно не нужен, и он слишком усложняется для чего-то такого простого. Спасибо anyways :) –

0

Попробуйте это:

<gradient 
    android:angle="270" 
    android:centerColor="#b6babd" 
    android:endColor="@android:color/transparent" 
    android:startColor="#62471a" 
    android:centerY="30%" 

/> 

Я установил centerColor с другим цветом только для вас, чтобы увидеть, как работает, но вы можете изменить к прозрачному. Атрибут centerY работает с centerColor.

0

центрX/центрY не работает без настройки центрColor.

0

Попробуйте это:

<gradient 
      android:angle="90" 
      android:startColor="#FFFFFFFF" 
      android:endColor="#FFCCCCCC" 
      android:centerColor="#FFFFFFFF" 
      android:centerY="0.9" 
      android:type="linear" /> 

вы должны установить Android: centerColor, этот путь для меня работа отлично.

+0

Это не добавляет ничего, что другие ответы еще не объясняют. Пожалуйста, не стесняйтесь предлагать редактировать другие ответы, если вы думаете, что их можно улучшить. –

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