myc_100 2013-03-19 09:49 采纳率: 10%
浏览 2755
已采纳

当点击按钮时,如何执行 Canvas.drawText 事件?

当点击按钮时,如何执行绘制文本 drawText 事件?如何设置 setContentView(R.layout.main) 来查看按钮,下面的代码是关于绘制文本的。

 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  drawView = new DrawView(this); 
  setContentView(drawView); 
}
public DrawView(Context context) { 
  super(context); 
  textpaint.setColor(Color.WHITE);
}
public void onDraw(Canvas canvas) {
  canvas.drawText("Testing", 20, 55, textpaint);
}
  • 写回答

1条回答

  • Baby_Bonnie 2013-03-20 02:14
    关注

    DrawView 是从哪里继承的?为什么不使用一个简单的 xml 布局,在这个布局中你可以放置一个 TextView,并在 OnClickListener 中使用 setVisible。
    示例代码:

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_view);
        Button myButton = (Button) findViewById(R.id.my_button);
        final MySurfaceView surfaceView = (MySurfaceView) findViewById(R.id.mysurface);
        myButton.setOnClickListener(new OnClickListener() {
            @Override
            public boolean onClick(View v) {
                // here you should change the position and the text you want to write
                // like surfaceView.setCoordinates(x, y);
                // and surfaceView.setTextToDraw("myText");
                return true;
            }
        });
    }
    

    你需要自己创建 SurfaceView。
    XML :

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <org.mypackage.MySurfaceView android:id="@+id/mysurface"
            android:layout_width="300dp"
            android:layout_height="300dp" />
        <Button android:id="@+id/my_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Push it real good!" />
    </LinearLayout>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题