无法将文本绘制到自定义视图

bwi*_*art 3 android android-layout

我在使用canvas.drawText()方法时遇到了问题.

我有一个自定义视图,如下所示:

public class PagerIndicator extends View
{
    @Override
    public void onDraw(Canvas canvas)
    {       
    Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.GRAY);
    canvas.drawPaint(paint);

    paint.setColor(Color.WHITE);
    paint.setTextSize(10);
    paint.setAntiAlias(true);
    paint.setTextAlign(Align.LEFT);
    canvas.drawText("TEST", 0, 0, paint);
}
Run Code Online (Sandbox Code Playgroud)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ysi.crm.PagerIndicator
    android:id="@+id/swipe_page_indicator"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

所述drawPaint()方法工作,我可以看到灰色漆当我测试.但是,canvas.drawText()不是绘图.我看到灰色顶部没有文字.

我已经把这件事打败了,我找不到其他人有这个问题,更不用说解决了.我会非常感谢任何帮助.

She*_*lum 8

我之前碰到过这个.您设置绘制的坐标不是文本的左上角坐标.它是文本的左下角坐标.

因此,您的文本可能会被绘制在视图顶部之上.