2015-08-12 3 views
2

У меня есть TextView, к которому я хочу добавить сплошной цвет фона. Я хочу, чтобы этот фон ограничивал прозрачность границ. Как и эта картина, но вместо фотографии это сплошной цвет. http://i.imgur.com/zAoazUy.png (Извините, что я не могу опубликовать изображения)Фон Android TextView с прозрачными границами замирания

Этот TextView динамически генерируется, поэтому его размер может варьироваться. Градиент должен заканчиваться прозрачным.

Возможно ли это? Я много искал с помощью XML Drawable ressources, но ни к чему не приближался близко к тому, что я хочу.

Заранее спасибо
PS: (Изображение украдено из Draw transparent gradient with alpha transparency from 0 to 1)

ответ

2

Вы должны определить градиент в вытяжке папки, startColor может быть любым цветом по вашему выбору, но для endColor использования ARGB значения, чтобы получить эффект прозрачности на углу

grad.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:type="radial" 
     android:gradientRadius="250" 
     android:startColor="#0000ff" 
     android:endColor="#64ffffff"/> 
</shape> 

, а затем просто использовать в TextView

textView.setBackground(getApplicationContext().getDrawable(R.drawable.grad)); 
+0

также вы должны изменить значение gradientRadius вверх или вниз в зависимости от ваших потребностей –

+0

Дело в том, с этим кодом изображение замиранием прямо из середины. Я только хочу, чтобы границы исчезли. Поэтому, если у меня есть плоский красный фон, только последние 10% на внешнем уровне начнут исчезать – Tremblex

+0

, есть еще один атрибут centerColor, если вы сделаете его таким же, как startColor, ваше исчезновение не начнется из центра изображения, также попробуйте изменить gradientRadius атрибут в соответствии с вашими потребностями, потому что, помимо радиального градиента, у вас есть выбор линейного градиента, но проблема с этим - только 2 границы будут исчезать –

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