结果如图

draw_demo_layout.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent" android:layout_height="fill_parent"     android:orientation="vertical">    <FrameLayout android:orientation="vertical"        android:layout_width="fill_parent" android:layout_height="0dip"         android:id="@+id/sc" android:scrollbars="horizontal"          android:layout_weight="1.0">        <ImageView android:layout_width="fill_parent"             android:layout_height="fill_parent"            android:src="@drawable/image0"            />    </FrameLayout>    <Button android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="Draw"        android:onClick="drawHandler"/>    <Button android:layout_width="fill_parent"         android:layout_height="wrap_content" android:text="Clear"        android:onClick="clearHandler"/>     </LinearLayout>
DrawView.java

package xyq.demo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.widget.LinearLayout;public class DrawView extends View {    public DrawView(Context context) {        super(context);        setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.FILL_PARENT            ,LinearLayout.LayoutParams.FILL_PARENT));     }    public DrawView(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override     protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        Paint p = new Paint();        p.setColor(Color.RED);        p.setStrokeWidth(5);        canvas.drawLine(50, 50, 100, 150, p);        canvas.drawLine(100, 150, 20, 50, p);    }}
MytesActivity.java

package xyq.demo;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.FrameLayout;public class MytesActivity extends Activity {private FrameLayout container;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.draw_demo_layout);        container = (FrameLayout)findViewById(R.id.sc);                container.addView(new DrawView(this));        Log.v("test", ""+container.getChildCount());            }    public void drawHandler(View target){        container.addView(new DrawView(this));        Log.v("test", ""+container.getChildCount());    }    public void clearHandler(View target){        if(container.getChildCount() != 1){            container.removeViewAt(container.getChildCount()-1);        }    }}

源代码

更多相关文章

  1. android 自编音乐播放器源代码
  2. qemu 0.9.1 与 android 环境编译
  3. [Android开发常见问题-21] Android(安卓)近百个项目的源代码
  4. Ubuntu 14.10+NDK+ffmpeg编译+Android
  5. Android点滴记录
  6. Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
  7. Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
  8. Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
  9. Android(安卓)的一些比较好的开源代码项目

随机推荐

  1. android发送/接收json数据
  2. 归纳整理一些工作学习中发现的不错的网站
  3. Android(安卓)Application Task Activiti
  4. android环境配置和工程目录介绍
  5. 腾讯轻听模仿流水账(1):16.11.25
  6. arcgis for android 学习 - (7) 在真机上
  7. android 实用项目备份【GitHub】(三)
  8. Android缩放drawable
  9. [Android]Android中全屏或者取消标题栏
  10. [android]androguard相关介绍