Android学习篇章2-Drop雨滴效果
2013-10-30 13:36
483 查看
public class Drop { public float x; public float y; public float r=2; public int alpha=255; public static final int Max_R=30; public Drop() { } public Drop(float x, float y) { super(); this.x = x; this.y = y; } public void draw(Canvas canvas,Paint paint) { paint.setAlpha(alpha); canvas.drawCircle(x, y, r, paint); alpha-=20; r+=3; } }
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
public class MainActivity extends Activity { MyView myview =null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myview=new MyView(this); // setContentView(R.layout.activity_main); setContentView(myview); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } // @Override // public boolean onTouchEvent(MotionEvent event) { // float x=event.getX(); // float y=event.getY(); // Drop drop= new Drop(x, y) ; // myview.add(drop); // return true; // } }
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
public class MyView extends View{ public static final String TAG="MyView"; List<Drop> list_drops= new ArrayList<Drop>(); public MyView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { Paint paint=new Paint(); paint.setColor(Color.RED); paint.setStyle(Style.STROKE); paint.setAntiAlias(true); paint.setStrokeWidth(1); canvas.drawLine(20, 20, 300, 300, paint); Log.i(TAG, String.valueOf("bbbbbbbbbbbb>"+list_drops.size())); // for(Drop d:list_drops) // { // Log.i(TAG, String.valueOf(d.x)); // d.draw(canvas, paint); // } // invalidate(); Iterator<Drop> iterator=list_drops.iterator(); while(iterator.hasNext()) { Drop d= iterator.next(); d.draw(canvas, paint); Log.i(TAG, String.valueOf(d.x)); if(d.r>=d.Max_R) { iterator.remove(); } } invalidate(); } public void add(Drop d) { list_drops.add(d); } @Override public boolean onTouchEvent(MotionEvent event) { float x=event.getX(); float y=event.getY(); Drop drop= new Drop(x, y) ; this.add(drop); return true; } }
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
相关文章推荐
- Android 解析后台返回为Json数据的简单例子
- android merge set background not work
- [Android]获取局域网广播地址的两种方法
- Android系统源代码下载
- android_布局属性大全
- android 设置控件的颜色字体的方法
- Android自定义控件之详细介绍
- Android 打包so动态库文件到APK
- TextView之二:常用属性 分类: H1_ANDROID 2013-10-30 12:43 3203人阅读 评论(0) 收藏
- android Activity 堆栈和亲属关系
- Android客户端 - JSON数据解析
- AndroidStudio错误local path doesn't exist解决办法
- Android4.2.2 Gallery2源码分析(1)——从布局入手
- Android Studio 自动更新
- android组件之GridView
- Android Studio配置
- android 启动模式(二)
- android 启动模式
- apk,task,android:process与android:sharedUserId的区别
- android在程序中打开另一个程序