我发现很少有关于如何使用android画布的教程。但是,在查看官方文档后,我能够生成此代码。我只想绘制一个绿色矩形。
public class LevelActivity extends AppCompatActivity {
Object shape;
Target target;
Rect r;
Paint paint;
Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_level);
paint = new Paint();
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.FILL);
r = new Rect();
r.set(0,0,c.getWidth(),c.getHeight()/2);
c.drawRect(r,paint);
shape = new Shape(30,10); //Object setup
//shape.pick(); //Pick random point for target
}
}
我不想使用自定义View来绘制,我只想使用纯android画布。当我运行代码时,我没有错误或任何警告。
任何帮助是极大的赞赏。
-Kelton
好吧,你有一个Canvas c
与底层位图b
。现在,你在Canvas c
上绘制的任何东西都将实际绘制在位图b
上。您已完成上述代码中的绘图部分。位图b
有你绘制的矩形。但现在要查看您需要在某些视图中加载此Bitmap b
,如ImageView。您可以在ImageView
布局中使用activity_level
,然后使用ImageView.setImageBitmap(b)
将Bitmap加载到视图中。
你需要在最后添加以下两行:
ImageView iv= (ImageView) findViewById(R.id.imageview_where_i_will_put_my_awesome_green_rectangle);
iv.setImageBitmap(b);
您必须创建一个ImageView并将Bitmap设置为您使用canvas创建的Bitmap。
ImageView imageView = new ImageView(this);
imageView.setBitmap(bitmap);
addContentView(imageView, new LayoutParams(MATCH_PARENT, MATCH_PARENT));