我在 for 循环中创建N个按钮,每个按钮OnClickListener
。用户可以单击每个按钮并设置一个数字。在那之后,我想要TextView
在按钮上方和中间显示数字。
这正是我想要的。灰色背景是按钮,数字是TextView
。
我现在的代码:
for (int toShow = 0; toShow < nShips; toShow++)
{
btn = new Button(this);
btn.setBackgroundResource(shipDrawable.get(ima));
btn.setLayoutParams(params);
row[pos].addView(btn);
btn.setId(shipId.get(ima));
btn.setOnClickListener(listeners);
if (row[pos].getChildCount() == 3) pos++;
ima++;
}
我尝试在for循环中使用它:
float x = btn.getX(), y = btn.getY();
TextView level = new TextView(this);
level.setText("5");
level.setX(x); level.setY(y);
但没有奏效。我可以用什么来得到我想要的东西?
答案 0 :(得分:2)
如果要在b按钮上显示图像,则应使用ImageButton。按钮和图像按钮之间的区别是在按钮中,您可以在按钮上显示文本,在ImageButton上,您可以在按钮上显示图像以及按钮的所有功能
答案 1 :(得分:2)
KrLx_roller我得到的是你想要在按钮上放置文字,你不需要采取隔膜文本视图就可以添加像这样的文本
Button textOne = new Button(this);
textOne.setText("5");
textOne.setBackgroundResource(R.drawable.img);
textOne.setGravity(Gravity.CENTER);
textOne.setTextColor(Color.RED);