當點擊按鈕時,如何執行繪制文本 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);
}
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>