如何获取按钮的背景ID

时间:2012-07-03 13:20:25

标签: android button

我想获取按钮背景图片的生成ID。 那个明星形象来自可绘画;我想获得它生成的ID。

我知道.getId将获得按钮的特定ID,但背景资源的ID是我想要的。没有button.getBackground().getId()

这样的东西
<Button
    android:id="@+id/btnhgfavorite"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/star" 
    android:focusable="false"/>

2 个答案:

答案 0 :(得分:1)

好像你有drawable本身存储在Resources文件夹中。只需从那里获取身份证明:

int id = R.drawable.star;

就是这样!

如果您想要将背景图像作为系统格式化,那么您将无法这样做,因为重新调整时图像不会保存,因为这是“在旅途中”完成的。

对于Button的任何复杂功能和功能,请尝试扩展Button并创建自己的功能,或者只使用其他类。

答案 1 :(得分:0)

我也有这个问题。但我有想法。你可以自定义一个按钮。然后在其中创建一个变量。然后你可以使用get(),set()方法来操作图像的id。

class MyButton extend button{
    int id = R.id.imageId;
    public int getID(){
      returen id;
    }
    public void setID(int id){
      this.id = id;    
    }
}

但我认为这不是一个好方法。如果你有一个很好的方法来解决它。请告诉我。