android动态添加图层
16lz
2021-12-04
结果如图
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); } }}
源代码
更多相关文章
- android 自编音乐播放器源代码
- qemu 0.9.1 与 android 环境编译
- [Android开发常见问题-21] Android(安卓)近百个项目的源代码
- Ubuntu 14.10+NDK+ffmpeg编译+Android
- Android点滴记录
- Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
- Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
- Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
- Android(安卓)的一些比较好的开源代码项目