java - 如何在 GameActivity 中使用 Fingeline.java
问题描述
我在画画时试图画一条线来跟随我的手指,但我不知道如何在我的 GameActivity 上使用手指线。我一直在尝试用手指的运动画一条线。谷歌搜索后,我发现我必须使用 Fingerline.java 类,但在实现这个类之后,我似乎不知道如何在我的 MainActivity 中使用它。我尝试过使用 Fingerline 中的方法。GameActivity 上的java,但它仍然给出错误。请帮我。
手指线.java
import android.content.Context;
import android.graphics.*;
import android.graphics.Paint.Style;
import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.*;
import androidx.annotation.NonNull;
public class FingerLine extends View {
private final Paint mPaint;
private float startX;
private float startY;
private float endX;
private float endY;
public FingerLine(Context context) {
this(context, null);
}
public FingerLine(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setStyle(Style.STROKE);
mPaint.setColor(Color.RED);
}
@Override protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(startX, startY, endX, endY, mPaint);
}
@Override
public boolean onTouchEvent(@NonNull MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
// Set the end to prevent initial jump (like on the demo recording)
endX = event.getX();
endY = event.getY();
invalidate();
break;
case MotionEvent.ACTION_MOVE:
endX = event.getX();
endY = event.getY();
invalidate();
break;
case MotionEvent.ACTION_UP:
endX = event.getX();
endY = event.getY();
invalidate();
break;
}
return true;
}
}
游戏活动.java
public class GameActivity extends AppCompatActivity {
ConstraintLayout Letter_panel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
// how activity in full screen
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN); //show the activity in full screen
Letter_panel=this.findViewById(R.id.constraintLayout4);
}
}
解决方案
推荐阅读
- python - 如何在 ctypes 中使用 typedef
- java - Spring Boot 2 Maven 目录视图解析器
- post - 如何编写要在 Informatica Cloud 后处理命令中使用的脚本
- c# - DateTime 和 DateTimeOffset 转换问题
- bash - 访问名称中包含整数的变量
- vue.js - 我可以获取 Vue.js 组件作为实例吗?
- php - Ubuntu PHP 5 安装 Curl 找不到包
- project-reactor - 在 JAX-RS 驱动的服务器中使用反应器时如何处理阻塞调用?
- asp.net-mvc - 如何从 Controller 获取 @ViewBag.UserName 到 _layout 页面?
- jenkins - 如何以阻塞方式链接构建管道?