在Android Studio 2.2.2“项目”视图中,我选择:
外部库> Android API 27平台> res>可绘制
几乎并排,我看到以下2个州名单摘要:
的 btn_default .XML
的 btn_default_holo_light .XML
要在临时突出显示后规范化我的按钮,我已成功发出以下命令以应用(Android默认主题)背景。
btn.setBackground(ContextCompat.getDrawable(CTX.gc(),android.R.drawable.btn_default));
我现在希望应用特定于我的主题的背景('android:Theme.Holo.Light'),但编译器拒绝以下命令并使用'无法解析符号'。
btn.setBackground(ContextCompat.getDrawable(CTX.gc(),android.R.drawable.btn_default_holo_light));
btn.setBackground(ResourcesCompat.getDrawable(CTX.gc(),android.R.drawable.btn_default_holo_light, android.R.style.Theme_Holo_Light));
但事实上,他们是可以解决的,因为'右键单击>转到>声明'成功调用编辑器反对所需的Drawable。
问题的关键在于,当手动输入命令时,在提前输入选项中提供 btn_default ,而 btn_default_holo_light 则不提供。因此,显然主题特定的实体被认为是内部的,因此不包含在android.R.drawable中。
是否有一个R.drawable主题,或者实际上是引用这些Drawables的任何方法?