我们可以在android中容纳这种情况,因此在编译期间apk必须选择不同的主题和drawable。基于以下某些条件
设置1
设置2
主题 (黑暗版) 在Res文件夹中 文件夹名称:Drawable Image1.png Image2.Png Image3.Png Image4.Png
主题 (轻版) 在Res文件夹中 文件夹名称:Drawable Image1.png Image2.Png Image3.Png Image4.Png
注意:在第1组和第2组中,可绘制图像不同但名称相同。即,组1中的图像1与组2中的图像1不同
请指导我关于我必须选择的方法
提前致谢。
答案 0 :(得分:0)
您可以在styles.xml中声明2个不同的应用主题,如下所示:
var results = tables.Select(t => t.SubTable)
.Where(a => listOfIDs.Contains(a.SubTableID))
.Select(s => s.Table);
然后在attrs.xml中声明所有这些drawable:
<style name="theme1">
<item name="drawable1">@drawable/drawable1forTheme1</item>
// same for all your other drawables
</style>
<style name="theme2">
<item name="drawable1">@drawable/drawable1forTheme2</item>
// same for all your other drawables
</style>
然后您可以通过属性简单地引用右侧drawable,并且显示的实际drawable将取决于所设置的主题。
例如在布局中:
<attr name="drawable1" format="reference"/>
// same for all your other drawables
注意&#34;?attr /&#34;告诉Android应该从属性加载drawable,这个drawable属性将根据设置的主题而改变。