java - 如何在屏幕上绘制文本字段

标签 java android

我正在制作一个填字游戏。理想情况下,我想使用类似的功能,如下面的代码。但是,我只需要帮助弄清楚如何在屏幕上绘制文本字段,以便用户可以输入他/她的单词。这是我到目前为止的代码。我将如何修改此代码以绘制文本字段而不是绘画?感谢任何帮助。

public class Word extends View {
    private Paint paint = new Paint();
      private Path path = new Path();

      public Word(Context context, AttributeSet attrs) {
        super(context, attrs);



        paint.setAntiAlias(true);
        paint.setStrokeWidth(30f);
        paint.setColor(Color.GRAY);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeJoin(Paint.Join.ROUND);
      }


      @Override
      protected void onDraw(Canvas canvas) {
        canvas.drawPath(path, paint);
      }

      @Override
      public boolean onTouchEvent(MotionEvent event) {
        float eventX = event.getX();
        float eventY = event.getY();

        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
          path.moveTo(eventX, eventY);
          return true;
        case MotionEvent.ACTION_MOVE:
          path.lineTo(eventX, eventY);
          break;
        case MotionEvent.ACTION_UP:

          break;
        default:
          return false;
        }

        // Schedules a repaint.
        invalidate();
        return true;
      }

最佳答案

除了“Word” View 之外,还使用 ​​TextView,并将其可见性设置为“消失”,直到您需要它显示为止,然后在需要时将其设置为“可见”。

关于java - 如何在屏幕上绘制文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748087/

相关文章:

java - 如何使用 libGDX 中的 I18NBundle 更改游戏中的语言?

java - Android蓝牙连接另一个蓝牙设备

java - 当我单击“保存”按钮时,AsyncTask 发生错误?

java - Android fragment 框架: up-casting does not work

java - 如何编写一个返回从提供的日期到今天的天数(整数)的方法?

java - 如何获取 java 11 中可用的密码套件列表?

android - 在 jFrog/Bintray 中导入 github 存储库以上传库时,导入 Github 存储库按钮被禁用

java - 以原始分辨率显示图像 Android

android - 在 asynytask 中完成 Activity Intent

java - 无法访问我在 PC 上的 Android 应用程序中创建的文件