canvas.drawtext()方法将textview放在开头(0,0),如何设置textview的实际位置?

时间:2018-11-28 12:48:13

标签: android android-canvas

我正在使用ontouchlistener将textview拖放/放置在imageview上。导出时可以正确生成imageview,但不能正确放置textview。 希望有人能帮助我解决此问题,谢谢。

ontouchlistener代码:

editwalatext.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getActionMasked()) {
                    case MotionEvent.ACTION_DOWN:
                        xCoOrdinate = v.getX() - event.getRawX();
                        yCoOrdinate = v.getY() - event.getRawY();

                        break;
                    case MotionEvent.ACTION_MOVE:
                        v.animate().x(event.getRawX() + xCoOrdinate).y(event.getRawY() + yCoOrdinate).setDuration(0).start();
                        break;
                    default:
                        return false;
                }
                return true;
            }

        });

在画布上绘制textview的代码

save.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                picture.setDrawingCacheEnabled(true);
                final Bitmap b = picture.getDrawingCache();

                        w = b.getWidth();
                        h = b.getHeight();

                        String iptext = editwalatext.getText().toString();


                mBitmap = Bitmap.createScaledBitmap(b,w,h,true);
                        Canvas canvas = new Canvas(mBitmap);
                TextPaint textPaint = new TextPaint();
                canvas.drawText(iptext, textwidght, textheight, textPaint);

                        try {
                            File newfile = savebitmap(mBitmap);
                        } catch(Exception e) {
                        }
            }
        });

textwidght和textheight分别等于ontouchlistener方法的变量xCoOrdinate和yCoOrdinate。 我是android编程的新手,如果我犯了一个愚蠢的错误,对不起。

0 个答案:

没有答案