我有一个没有布局的活动。我直接在AndroidManifest
中将它设置为主题:
机器人:主题= “@风格/ MyTheme的”>
我的主题只包含一个背景:
<style name="MyTheme"
<item name="android:windowBackground">@drawable/background</item>
</style>
这是后台文件,只包含两个项目:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorDarkGrey"/>
<item
android:id="@+id/ic_icon_red"
android:drawable="@drawable/ic_icon_red"/>
<item
android:id="@+id/ic_icon_blue"
android:drawable="@drawable/ic_icon_blue"/>
</layer-list>
如何在我的活动中找到(ic_icon_red
和ic_icon_blue
),这样我就可以做我想要的逻辑。在这种情况下,findViewById()
不起作用。谢谢!
如果我理解正确,那应该是这样的。
@Test
public void testDrawable(){
Context appContext = InstrumentationRegistry.getTargetContext();
LayerDrawable backGroundLayer = (LayerDrawable) appContext.getResources().getDrawable(R.drawable.background);
assertNotNull(backGroundLayer.findDrawableByLayerId(R.id. ic_icon_red));
}
以上只是测试用例来检查,你可以这样使用。
LayerDrawable backGroundLayer = (LayerDrawable)getResources().getDrawable(R.drawable.background);
Drawable drawable = backGroundLayer.findDrawableByLayerId(R.id. ic_icon_red)