在Android中动态创建的按钮看起来不像使用XML创建的按钮,也不响应点击

时间:2015-06-03 05:10:19

标签: android

我正在尝试在其中一个活动中动态创建一个按钮。但是新创建的按钮的外观(看起来平坦,点击后没有任何视觉效果)与使用活动XML文件创建的按钮完全不同。 我已经使用XML为新活动创建了相对布局。 下面是代码:(对于代码中的任何输入错误,请原谅)

RelativeLayout rl = (RelativeLayout ) findViewById(R.id.rv_order);
Button incButton = new Button(this);
incButton.setText("+");
RelativeLayout.LayoutParams layoutParams = new  RelativeLayout.LayoutParams(70, 70);
layoutParams.setMargins(0, 70, 0, 0);
incButton.setId(1);
rl.addView(incButton, layoutParams);

我还没有定义OnClickListener。但它看起来并不像一个按钮,正如我之前所说,它也没有在视觉上做出反应(一旦点击就会改变颜色)。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我有一个解决方案..在onCreate中使用此代码

 linear = (LinearLayout) findViewById(R.id.linear);

 LayoutParams param = new LinearLayout.LayoutParams(
 LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1.0f);

 Button[] btn = new Button[num_array_name.length];
 for (int i = 0; i < num_array_name.length; i++) 
{
     btn[i] = new Button(getApplicationContext());
     btn[i].setText(num_array_name[i].toString());
     btn[i].setTextColor(Color.parseColor("#000000"));
     btn[i].setTextSize(20);
     btn[i].setHeight(100);
     btn[i].setLayoutParams(param);
     btn[i].setPadding(15, 5, 15, 5);
     linear.addView(btn[i]);

     btn[i].setOnClickListener(handleOnClick(btn[i]));

 }

在onCreate之后创建一个返回类型View.OnClickListener的方法,就像这样..

View.OnClickListener handleOnClick(final Button button) {
return new View.OnClickListener() {
    public void onClick(View v) {
    }
};
}