Java 如何制作一种颜色的按钮
我正在为android创建一个游戏应用程序,当点击绿色圆圈或(按钮)时,你会得到奖励,如果点击红色圆圈或(按钮),你会输掉游戏。我的问题是为圆圈创建这些按钮。我已经在这里的其他人的帮助下制作了圆的生成器,并且尝试创建按钮。以下是迄今为止我掌握的所有代码:Java 如何制作一种颜色的按钮,java,android,button,android-activity,android-canvas,Java,Android,Button,Android Activity,Android Canvas,我正在为android创建一个游戏应用程序,当点击绿色圆圈或(按钮)时,你会得到奖励,如果点击红色圆圈或(按钮),你会输掉游戏。我的问题是为圆圈创建这些按钮。我已经在这里的其他人的帮助下制作了圆的生成器,并且尝试创建按钮。以下是迄今为止我掌握的所有代码: public class Main extends Activity { DrawingView v; @Override protected void onCreate(Bundle savedInstanceSt
public class Main extends Activity
{
DrawingView v;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
v = new DrawingView(this);
setContentView(v);
Button redCircle = (Button) findViewById(Color.RED);
redCircle.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent s = new Intent(Main.this, ifRed());
startActivity(s);
}
private Class<?> ifRed()
{
// TODO Auto-generated method stub
String str = "You clicked on a red circle. You Loose!";
System.out.print(str);
return null;
}
});
}
}
这个问题和你一个小时前问的问题有什么有意义的区别吗?用不同的措辞,这样人们可以更好地理解它,这样就可以得到答案。我认为处理这个问题的首选方法是编辑原文,而不是发布等同于副本的内容。正如我在另一方面所说的,我认为你的问题不完全在于措辞,而是与代码相匹配的措辞。圆圈应该是按钮吗;您是否正在生成按钮应该使用的图像?与
Button redCircle=(Button)findviewbyd(Color.RED)相关的xml代码>;你希望/认为这能实现什么?目前的状况如何;它是否运行,崩溃,同意愿望?是的,圆圈应该显示,否,代码行崩溃程序,因为Color.RED是int,id在xml中找到,但我无法在xml中设置按钮id,因为它在Java中的绘图视图类中初始化。视图也设置为DrawingView
public class DrawingView extends View
{
public DrawingView(Context context)
{
super(context);
// TODO Auto-generated constructor stub
}
private int lastColor = Color.BLACK;
private final Random random = new Random();
private final Paint paint = new Paint();
private final int radius = 230;
private final Handler handler = new Handler();
private final Runnable updateCircle = new Runnable()
{
@Override
public void run()
{
lastColor = random.nextInt(2) == 1 ? Color.RED : Color.GREEN;
paint.setColor(lastColor);
invalidate();
handler.postDelayed(this, 380);
}
};
@Override
protected void onAttachedToWindow()
{
super.onAttachedToWindow();
handler.post(updateCircle);
}
@Override
protected void onDetachedFromWindow()
{
super.onDetachedFromWindow();
handler.removeCallbacks(updateCircle);
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
// your other stuff here
canvas.drawCircle(random.nextInt(canvas.getWidth()-radius/2) + radius/2f, random.nextInt(canvas.getHeight()-radius/2) + radius/2f, radius, paint);
}
}