Canvas 不会画文字?
Canvas not drawing text?
当用户在 android studio
中单击带有 canvas
的 button
时,我想在屏幕上显示一些文本。我一直在看很多关于如何做到这一点的帖子和视频。问题是,当我尝试他们的代码时,当我点击我的按钮时,什么也没有出现。有人知道我做错了什么吗?
这是我的 Java
class:
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button drawCanvas = findViewById(R.id.draw_canvas_button);
drawCanvas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Paint paint = new Paint();
Canvas canvas = new Canvas();
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(20f);
canvas.drawText("My Text", 10f, 15f, paint);
}
});
}
}
看来你必须通过导入View
来使用一个名为onDraw
的方法。
import android.view.View;
public class myClass extends View{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
//Where you put the code
}
当用户在 android studio
中单击带有 canvas
的 button
时,我想在屏幕上显示一些文本。我一直在看很多关于如何做到这一点的帖子和视频。问题是,当我尝试他们的代码时,当我点击我的按钮时,什么也没有出现。有人知道我做错了什么吗?
这是我的 Java
class:
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button drawCanvas = findViewById(R.id.draw_canvas_button);
drawCanvas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Paint paint = new Paint();
Canvas canvas = new Canvas();
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(20f);
canvas.drawText("My Text", 10f, 15f, paint);
}
});
}
}
看来你必须通过导入View
来使用一个名为onDraw
的方法。
import android.view.View;
public class myClass extends View{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
//Where you put the code
}