2010-11-14 10 views
19

можно использовать следующий XML просто отличноGradientDrawable в Кодексе

<shape android:shape="rectangle" xmlns..."> 
    <gradient 
     android:startColor="#255779" 
     android:centerColor="#3e7492" 
     android:endColor="#a6c0cd" 
     android:angle="90"/> 

    <stroke android:width="1dp" android:color="#0d202e"/> 
</shape> 

градиент придумали красиво

я пытаюсь сделать то же самое, только с помощью кода (без XMLs)

 
int colors[] = { 0xff255779 , 0xff3e7492, 0xffa6c0cd }; 

GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors); 

setBackgroundDrawable(g); 

Градиент DOES придет, но его не то же самое, что тот, что один из XML, я имею в виду, что цвета такие же, но градиент не то же самое, я думаю, что он имеет отношение к цветам начала, середины, конца в xml

также как я добавить инсульт

любая помощь будет принята с благодарностью

ответ

6

Согласно Docs

андроида: угол
Integer. Угол для градиента в градусах. 0 слева направо, 90 находится внизу. Он должен быть кратным 45. По умолчанию 0


, но вы используете GradientDrawable.Orientation. TOP_BOTTOM в вашем коде. Вот почему направления градиента различны

Вы должны использовать GradientDrawable.Orientation. BOTTOM_TOP вместо этого.

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