我創建了一組按鈕,當我給每個按鈕設置背景圖像時,就變成不可點擊的了。為什麼會這樣呢?下面是我的代碼:
LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout);
LinearLayout rowLayout=null;
Button[][] buttons = new Button[6][7];
LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT,1);
for (int i = 0; i<6; i++)
{
rowLayout = new LinearLayout(this);
rowLayout.setWeightSum(7);
layoutVertical.addView(rowLayout,param);
for(int j=0;j<7;j++)
{
buttons[i][j]=new Button(this);
buttons[i][j].setText("1");
buttons[i][j].setBackgroundResource(R.drawable.but_blue_clicked);
rowLayout.addView(buttons[i][j],param);
buttons[i][j].setClickable(true);
}
}
}
這個應該不是不能點,應該是你設置圖片後覆蓋了系統button的樣式,如果有監聽點擊事件應該是有效的。
如果你是需要一個按鈕的樣式可以自己寫一個
像這樣
but_clicked.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/play_press" />
<item android:state_focused="true" android:drawable="@drawable/play_press" />
<item android:drawable="@drawable/play" />
</selector>
然後 buttons[i][j].setBackgroundResource(R.drawable.but_clicked);
不過你需要兩張圖片,分別是點擊和未點擊的圖片