Hi
Может ли кто-нибудь сказать мне, как создать собственный пользовательский текстовый вид в Android? Я хочу установить разные цвета для шрифта textview. Может ли кто-нибудь привести пример?
Что бы вы ни хотели:
public class SimpleTextView extends TextView
{
private static int color=Color.RED;
public SimpleTextView(Context context)
{
super(context);
this.setTextColor(color)
}
public SimpleTextView(Context context, AttributeSet attrs)
{
super(context, attrs);
this.setTextColor(color)
}
public SimpleTextView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
this.setTextColor(color)
}
public static void setGlobalColor(int gcolor)
{
color=gcolor;
}
}
Поэтому в любое время вы можете изменить цвет своих текстовых полей по всему миру.
Как прокомментировал eldarerathis, это немного переборщило, если бы вы создали пользовательский TextView только для изменения цвета текста.
Тем не менее вот учебник о том, как создать пользовательский TextView.
Построение пользовательского компонента в Android-разработчике также хорошо читается, я бы рекомендовал вам сначала прочитать его.
Суммируйте 3 шага:
- Расширьте существующий класс или подкласс класса с собственным классом.
- Переопределить некоторые методы из суперкласса. Суперкласс методы для отмены запуска с 'on', например, onDraw(), onMeasure(), и onKeyDown(). Это похоже на события... в действии или ListActivity, которую вы переопределяете для жизненный цикл и другие функции Крючки.
- Используйте новый класс расширения. После завершения вашего нового расширения класс можно использовать вместо вида на котором он был основан.
Если все, что вы хотите сделать, это установить цвет текста, вы можете использовать атрибут textColor.
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="MyText"
android:textColor="#FFFFFF"
/>
TextView.setTextColor(color)
недостаточно для вашей ситуации?