Есть два способа сделать это:
Вы можете определить свои собственные стили, создав файлы XML в каталоге res/values
. Итак, предположим, что вы хотите иметь красный и полужирный текст, тогда вы создаете файл с этим контентом:
Вы можете назвать его так, как хотите, например res/values/red.xml
. Тогда единственное, что вам нужно сделать, это использовать это представление в виджетах, которые вы хотите, например:
. Для получения дополнительной информации вы можете прочитать эту статью: Понимание Android-тем и Стили
Это еще один возможный способ достичь этого, и он должен был предоставить ваш собственный TextView
, который всегда устанавливал цвет текста независимо от того, что вы хотите; например:
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.widget.TextView;
public class RedTextView extends TextView{
public RedTextView(Context context, AttributeSet attrs) {
super(context, attrs);
setTextColor(Color.RED);
}
}
Затем вам просто нужно рассматривать его как нормальный TextView
в вашем XML-файле:
Используете ли вы один или другой выбор зависит от ваших потребностей. Если единственное, что вы хотите сделать, это изменить внешний вид, тогда лучший подход будет первым. С другой стороны, если вы хотите изменить внешний вид и добавить некоторые новые функции в свои виджеты, второй вариант - это путь.
RGB: 255, 255, 255 - это код цвета для WHITE. Так как цвет фона вашего родительского макета также белый, вы не увидите разницу.
Попробуйте изменить цвет, например
backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));
Или измените цвет фона родительского макета.
Теоретически это должно работать ... но попробуйте так:
backgroundImg.setBackgroundColor(Color.parseColor("#FFFFFF"));
Использование PorterDuff.Mode
:
imageView1.setColorFilter(colorCode,android.graphics.PorterDuff.Mode.SRC_IN);
PorterDuff.mode
позволяет создавать и накладывать изображения в Android, см. Также Что означает PorterDuff.Mode в андроидной графике. Что он делает ?