java - 单击按钮Android后绘制

标签 java android button drawing

我已经开始学习为 Android 操作系统开发应用程序。我试图在用户单击按钮后画一个圆圈。我的 MainActivity 看起来像:

public class MainActivity extends Activity {
EditText editText;
String message;
TextView display;
ImageView transOutput;
Paint paint;
Canvas c;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    editText = (EditText) findViewById(R.id.editText1);
    //display = (TextView)findViewById(R.id.display);

    Button basic_button = (Button) findViewById(R.id.button1);
    basic_button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            c = new Canvas();
            c.drawColor(Color.CYAN);
                // smooths
            paint = new Paint();
            paint.setAntiAlias(true);
            paint.setColor(Color.RED);
            paint.setStyle(Paint.Style.STROKE); 
            paint.setStrokeWidth(4.5f);
                // opacity
                //p.setAlpha(0x80); //
            c.drawCircle(50, 50, 30, paint);

        }
    }); 
}

我认为将绘图函数放在 onClick 监听器中就可以解决问题。最终我会添加更多的形状。我错过了什么?

最佳答案

如果您需要创建一个新的 Canvas,那么您必须定义实际执行绘图的位图。

Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);

http://developer.android.com/guide/topics/graphics/2d-graphics.html

关于java - 单击按钮Android后绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20987701/

相关文章:

java - 识别给定文本字符串中所有类型的重复

android - 如何使用 Android 设备 3.5 毫米耳机插孔读取/发送数据?

android - gcm 推送通知,渐进式 webapp

安卓:设置初始保存状态

c# - Xamarin Forms 在等待时更改按钮的文本

java - 反序列化后如何将对象重新附加到 EclipseLink session

java - 在 Spring MVC 中使用 openblox 直径服务器时出错?

java - java按下了什么按钮

java - dll可以在MAC os上加载

html - 按钮只能部分点击错误