5

我正在尝试编写一个三态开关。但是我无法访问默认的com.android.internal.R.styleable.Switch_track drawable 以用作背景。

如何获得该可绘制对象?

是否有另一种获取默认背景的方法?

4

2 回答 2

5

仅供参考:虽然不建议访问内部资源并且您应该知道,它们可能会被供应商或操作系统更新更改或删除,但可以在运行时访问它们:

int id = Resources.getSystem().getIdentifier("Switch_track", "styleable", "android");
于 2013-04-29T10:25:16.760 回答
4

您不应该访问私有资源,您不能确定该资源在所有设备上都可用。即使它可用,你也不能确定它会是一样的。

如果您想使用私有资源,您必须将其从 SDK 或 Android 源复制到您的项目资源中。

于 2012-10-15T09:54:22.320 回答