Java 在这件事上需要帮助吗
我正在为一个学校项目编写一个小应用程序:概念很简单:播放一首歌曲,同时在屏幕上随机弹出一个圆圈,用户必须点击屏幕才能获得分数 我发现这个圆圈的代码运行良好:Java 在这件事上需要帮助吗,java,android,touch-event,Java,Android,Touch Event,我正在为一个学校项目编写一个小应用程序:概念很简单:播放一首歌曲,同时在屏幕上随机弹出一个圆圈,用户必须点击屏幕才能获得分数 我发现这个圆圈的代码运行良好: public class Partie extends AppCompatActivity { RelativeLayout relativeLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns
public class Partie extends AppCompatActivity {
RelativeLayout relativeLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new SplashLaunch(this));
}
public class SplashLaunch extends View {
Handler cool = new Handler();
ObjectAnimator aa = new ObjectAnimator();
Paint newPaint = new Paint();
int randomWidthOne = 0;
int randomHeightOne = 0;
private int radiusOne = 150;
final int redColorOne = Color.RED;
final int greenColorOne = Color.GREEN;
private int lastColorOne;
private final Random theRandom = new Random();
public SplashLaunch(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
private final Runnable circleUpdater = new Runnable() {
@SuppressLint("NewApi")
@Override
public void run() {
lastColorOne = theRandom.nextInt(2) == 1 ? redColorOne : greenColorOne;
newPaint.setColor(lastColorOne);
cool.postDelayed(this, 1500); // Time between each circle to pop on the screen
int x = 0;
while (x <= 200) { // x = transparency : 0 ==> non visible , 255 ==> visible
newPaint.setAlpha(x);
x++;
}
invalidate();
}
};
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
cool.post(circleUpdater);
}
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
cool.removeCallbacks(circleUpdater);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
if (theRandom == null) {
randomWidthOne = (int) (theRandom.nextInt(Math.abs(getWidth() - radiusOne / 2)) + radiusOne / 2f);
randomHeightOne = (theRandom.nextInt((int) Math.abs((getHeight() - radiusOne / 2 + radiusOne / 2f))));
} else {
randomWidthOne = (int) (theRandom.nextInt(Math.abs(getWidth() - radiusOne / 2)) + radiusOne / 2f);
randomHeightOne = (theRandom.nextInt((int) Math.abs((getHeight() - radiusOne / 2 + radiusOne / 2f))));
}
} } }
我是初学者,欢迎任何帮助:)
提前谢谢 我想你可能想要
SplashLaunch circle=新的SplashLaunch(这个)活动中的code>后跟圆圈.setOnTouchListener
public boolean onTouch(View v, MotionEvent me) {
switch (me.getAction()) {
case MotionEvent.ACTION_DOWN;
x = me.getX();
y = me.getY();
}
return true;
}