【问题标题】:Center text on image in android?在android中的图像上居中文本?
【发布时间】:2011-11-07 13:14:30
【问题描述】:

在我的 android 应用程序中,我需要在图像上显示文本。文本由用户在 alertDialog 中输入。这个文本我需要把它放在图像的底部。我用这个在图像上绘制文本:

private Canvas drawTextImage(Bitmap b) {
        Canvas c = new Canvas(b);
        Paint paint = new Paint();
        paint.setColor(getResources().getColor(R.color.orange));

        paint.setStrokeWidth(30);
        paint.setAntiAlias(true);
        paint.setTextSize(40);
        c.drawText(text, 350, 900, paint);

        c.translate(300, 50);
        return c;
    }

我的 alertDiallg 是这样的:

        final AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Enter a text ");
    final EditText input = new EditText(this);
    InputFilter[] FilterArray = new InputFilter[1];
    FilterArray[0] = new InputFilter.LengthFilter(25);
    input.setFilters(FilterArray);

    alert.setView(input);
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            text = input.getText().toString().trim();
            Canvas c = new Canvas(bitmapResult);
            drawTextImage(bitmapResult);
            saveimage();
        }
    });

    alert.setNegativeButton("Cancel",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    dialog.cancel();
                    saveimage();
                }
            });

    alert.show();

根据长度,文本必须居中。我怎样才能做到这一点?

提前谢谢..

【问题讨论】:

    标签: android image text center


    【解决方案1】:

    使用

    Paint.setTextAlign(Paint.Align.CENTER);
    

    在用于绘制文本的油漆上。

    public void setTextAlign(Paint.Align 对齐)

    设置绘画的文本对齐方式。这控制文本的方式 相对于它的原点定位。左对齐意味着所有的 文本将被绘制到其原点的右侧(即原点 指定文本的左边缘)等等。

    Source


    编辑:在绘图文本中,您必须将图像的一半指定为 x 坐标(中心),y 坐标应保持不变(在底部某处,取决于如何高你想要它)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-01
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多