画面のどこにでもタッチすると、そのポイントはしばらくの間光ります(フラッシュやキラキラのようなものです)。どうやってするか?例やアイデアはありますか?ボタンを配置するために実装する必要があります。画面をタッチすると、しばらくすると光り、タッチした位置にボタンが表示されます。
7069 次
1 に答える
11
カスタムビューを作成し、ontoucheventと描画をオーバーライドする必要があります。これは非常に簡単な例です。パッケージ名、つまりcom.test.CustomViewを使用する場合は、xmlレイアウトでカスタムビューを参照できます。
public class CustomView extends ImageView{
public CustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomView(Context context) {
super(context);
}
boolean drawGlow = false;
//this is the pixel coordinates of the screen
float glowX = 0;
float glowY = 0;
//this is the radius of the circle we are drawing
float radius = 20;
//this is the paint object which specifies the color and alpha level
//of the circle we draw
Paint paint = new Paint();
{
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
paint.setAlpha(50);
};
@Override
public void draw(Canvas canvas){
super.draw(canvas);
if(drawGlow)
canvas.drawCircle(glowX, glowY, radius, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event){
if(event.getAction() == MotionEvent.ACTION_DOWN){
drawGlow = true;
}else if(event.getAction() == MotionEvent.ACTION_UP)
drawGlow = false;
glowX = event.getX();
glowY = event.getY();
this.invalidate();
return true;
}
}
于 2010-03-27T17:49:43.657 に答える