Я пытаюсь создать пользовательский вид для моего приложения для Android. В функции OnDraw
я пытаюсь нарисовать emoji, используя его значение unicode
, но это не работает. Ниже приведен код:Рисование emojis на холсте Android с использованием значений unicode
public class Scale extends View {
private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private final static int LINE_WIDTH = 10;
...
...
@Override
protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(LINE_WIDTH);
mPaint.setColor(Color.BLUE);
...
...
//This works
canvas.drawText("My text", 0.05f*width, 0.80f*height, mPaint);
//But this does NOT draw a doughnut!!
String s = new String(Character.toChars(0x1F369)); //Doughnut
canvas.drawText(s, 0.75f*width, 0.50f*height, mPaint);
}
}
Кто-нибудь знает, есть ли здесь работа? Или я делаю что-то неправильно?
EDIT [второй вопрос]: С хака я представил ниже, я вижу, что Emojis оказывают внутри TextView
нарисованного на Canvas
, но они значительно являются скучнее по сравнению с Emojis, установленной на обычный TextView , как показано ниже:
Любая идея, что я здесь отсутствует?
Спасибо , но это не помогает: 'String s = new String (Character.toChars (0xD83C)) + новая строка (Character.toChars (0xDF69)); // Donut canvas.drawText (s, 0.75f * width, 0.50f * height, mPaint); ' – Curious