Настройка стиля или шрифта пользовательского представления, которое содержит текст, например, TextView по умолчанию? - PullRequest
0 голосов
/ 04 апреля 2011

Я реализую пользовательское представление, которое содержит текст, и текст будет нарисован в onDraw.

Моя проблема в том, что я хотел бы, чтобы мой текст выглядел так же, как в объектах TextView, но я не совсем знаком с настройкой стиля и шрифта.

Текст, наконец нарисованный моим новым объектом Paint, выглядит иначе, чем TextView: линии выглядят более тонкими и кажутся укушенными некоторыми насекомыми ... - -b. Мне бы хотелось, чтобы мой текст рисовался так же, как эти объекты TextView.

Помогите плз!

====================
Проблема другими словами:

В пользовательском представлении, расширяющем View, я вызываю mPaint.drawText в методе onDraw с новым объектом Paint mPaint. Но нарисованный текст выглядит иначе, чем TextView по умолчанию, линии тоньше и не гладкие (как укушенные некоторыми насекомыми). Я просто хочу, чтобы он выглядел так же, как TextView.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011
 public class CustomText extends TextView { 
 public CustomText(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    // TODO Auto-generated constructor stub
    Typeface typeface = Typeface.createFromAsset(context.getAssets(),
    "fonts/your_font.ttf");
    setTypeface(typeface);

}

public CustomText(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
    Typeface typeface = Typeface.createFromAsset(context.getAssets(),
    "fonts/fonts/your_font.ttf");
    setTypeface(typeface);

}

public CustomText(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
Typeface typeface = Typeface.createFromAsset(context.getAssets(),
"fonts/fonts/your_font.ttf");
setTypeface(typeface);
    }

}

Теперь используйте CustomText в вашем классе / xml.

Надеюсь, это поможет вам.

0 голосов
/ 04 апреля 2011

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

...