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应用,该应用通过触摸屏幕创建水滴动画效果。每个水滴以圆形形式呈现,并随时间逐渐扩大直至消失。文章展示了如何使用Canvas和Paint类在自定义View中实现这一效果。

1734

被折叠的 条评论
为什么被折叠?



