android资源背景图,android换肤功能 如何动态获取控件中背景图片的资源id?
时间: 2024-03-05 13:47:49 浏览: 104
android换肤功能 如何动态获取控件中背景图片的资源id?
要动态获取控件中背景图片的资源ID,可以使用以下代码:
```java
View view = findViewById(R.id.view_id);
Drawable drawable = view.getBackground();
int resId = getResources().getIdentifier(getResources().getResourceEntryName(drawable.getConstantState().getExitValue()), "drawable", getPackageName());
```
这里的 `view_id` 是你想获取背景图片资源ID的控件的ID。然后,我们通过 `view.getBackground()` 方法获取该控件的背景图片。接着,我们通过 `getResources().getIdentifier()` 方法获取资源ID。
在这个例子中,我们使用 `getResources().getResourceEntryName()` 方法来获取资源的名称。然后,我们使用 `"drawable"` 作为资源类型来查找资源ID。最后,我们使用 `getPackageName()` 方法获取应用程序的包名。
这样,你就可以动态获取控件中背景图片的资源ID,然后根据需要进行操作,比如进行换肤功能的实现。
阅读全文