gpt4 book ai didi

java - 如何仅更改图像按钮内的图像而不是整个图像按钮

转载 作者:行者123 更新时间:2023-11-30 03:10:09 26 4
gpt4 key购买 nike

我有一个使用 btn_star 的图像按钮。它看起来像灰色按钮上的一颗小星星。

enter image description here

我想在运行时使用背景资源更改星星,但由于某种原因,当我尝试更改它时,它只更改灰色部分而不更改星星部分,所以看起来有两颗星星在彼此之上。它是我使用的以下命令。

btnChild.setBackgroundResource(android.R.drawable.btn_star_big_on);

如何只更改图像按钮中的星号部分并保留灰色“按钮”部分?

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 android:id="@+id/BtnToClick" android:layout_width="60dp" android:layout_height="60dp" android:onClick="myClickHandler" android:layout_marginTop="4dp"
android:layout_alignParentRight="true"
android:focusableInTouchMode="true" android:focusable="true"

最好的问候乔

最佳答案

您使用的方法是更改​​后台资源。要更改前景,请使用 setImageResource(int)方法:

btnChild.setImageResource(android.R.drawable.btn_star_big_on);

关于java - 如何仅更改图像按钮内的图像而不是整个图像按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21114025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com