Canvas和Paint
当Android应用需要在运行时动态的生成图片,这就需要借助于Android的绘图机制了。
Canvas画布,Paint画笔。Paint代表Canvas上的画笔,因此Paint类主要用于设置绘制风格,包括画笔颜色,画笔笔触粗细,填充风格等。
直接看代码:
布局如下
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.mywuziqi.MainActivity"
android:background="@mipmap/haha">
<com.example.mywuziqi.WuziqiPanel
android:id="@+id/wuziqi"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_view"
/>
</RelativeLayout>
<!--NOTE:wuziqi控件必须给id,宽和高不能设置为wrap_content-->
<!--TextView控件的作用是在赢了之后直接下一局,而不是要退出再打开一次该应用-->
package com.example.mywuziqi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private WuziqiPanel mWuziqiPanel;
private TextView mTextView;
//textView控件的点击事件是用来清空棋子直接进入下一局的
// mTextView.setText("再来一局")这句话要放在点击事件外边
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWuziqiPanel= (WuziqiPanel) findViewById(R.id.wuziqi);
mTextView= (TextView) findViewById(R.id.text_view);
mTextView.setText("再来一局");
mTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// mTextView.setText("再来一局");
mWuziqiPanel.start();
}
});
}
}
package com.example.mywuziqi;
import android.content.Context;
import android.graphics.Bitmap;
import andro