我有一個使用btn_star的圖像按鈕。它看起來像一個灰色按鈕上的小星星。如何更改圖像按鈕中的圖像而不是整個圖像按鈕
我想用backgroundresource運行期間更改的明星,但由於某些原因,當我試圖改變它,它只是改變了灰色的一部分,而不是明星一部分,所以它看起來像有兩個星星在彼此的頂上。它使用了以下命令。
btnChild.setBackgroundResource(android.R.drawable.btn_star_big_on);
如何更改imagebutton中的星形部分並保持灰色的「按鈕」部分?
public void myClickHandler(View v)
{
//reset all the listView items background colours before we set the clicked one..
ListView lvItems = getListView();
listposition = lvItems.getFirstVisiblePosition();
state = lvItems.onSaveInstanceState();
RelativeLayout vwParentRow = (RelativeLayout)v.getParent();
TextView child = (TextView)vwParentRow.getChildAt(3);
ImageButton btnChild = (ImageButton)vwParentRow.getChildAt(9);
Checkiffavorite();
boolean favourite=false;
for (String s : favourite_id){
if (s.equals(child.getText().toString()))
favourite=true;
}
if (favourite)
{
btnChild.setSelected(false);
DeleteFromDatabase(child.getText().toString());
btnChild.setImageResource(android.R.drawable.btn_star);
//ImageButton _Favorbtn1 = (ImageButton)btnChild.findViewById(R.id.BtnToClick);
}
else
{
btnChild.setSelected(true);
AddToDatabase(child.getText().toString());
btnChild.setImageResource(android.R.drawable.btn_star_big_on);
}
ListView lv = getListView();
lv.onRestoreInstanceState(state);
}
XML:
的ImageButton 機器人:ID = 「@ + ID/BtnToClick」 機器人:layout_width = 「60dp」 機器人:layout_height = 「60dp」 機器人:的onClick =」 myClickHandler」 機器人:layout_marginTop = 「4DP」
機器人:layout_alignParentRight = 「真」
機器人:focusableInTouchMode = 「真」 機器人:可調焦= 「真」
問候 喬
,你能否告訴我們的XML代碼並在你改變你的按鈕的背景,請Java的一部分嗎? – Arshak92