android动态添加图层
2014-10-14 14:26
295 查看
结果如图
draw_demo_layout.xml
DrawView.java
MytesActivity.java
draw_demo_layout.xml
<pre name="code" class="java"><?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
<pre name="code" class="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
<pre name="code" class="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动态添加图层
- android动态添加图层
- ArcGIS Server Java -- 动态添加图层
- Android中动态添加╱删除的Spinner菜单
- Android中利用LinearLayout动态添加控件
- android中ListView在划屏到底部的时候动态添加ListView的Item实现
- MO 基本的图层动态添加,放大、缩小、漫游功能
- Android spinner 动态添加时报错 java.lang.UnsupportedOperationException
- android 动态添加控件
- Android中利用LinearLayout动态添加控件
- Android 程式开发:(三)初识Fragment —— 3.2动态添加
- Android中利用LinearLayout动态添加控件
- Android Google Map实例 - 添加Google Map自定义图层(Android mapview)
- Android – ListView 中添加按钮,动态删除添加ItemView的操作
- Android 动态添加Button(1)
- MapObject动态添加图层
- Android AlertDialog动态添加组件和padding靠边问题
- Android UI设计 下拉菜单Spinner用法 动态添加删除Spinner菜单项
- android中ListView在划屏到底部的时候动态添加ListView的Item实现
- 学习笔记<二>动态图层的制作,地图Behaviors和Actions的添加