2

我遇到了一个非常奇怪的案例 - 我有 2 个 LayerDrawables 来显示下载进度和音频播放进度。

这是 free_downloads.xml :

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/play_spare"/>
    <item android:id="@+id/clip">   
    <clip    
    android:drawable="@drawable/play_fill_free_download"
    android:gravity="left" />
    </item>
 </layer-list>   

这是 MainActivity 的部分代码:

 LayerDrawable ld2= (LayerDrawable) getResources().getDrawable(R.drawable.free_downloads);
ClipDrawable cd2=(ClipDrawable) ld2.findDrawableByLayerId(R.id.clip);
cd2.setLevel(4300+(30*50));//it's just simulating of 50% progress - 4300 is a transparent space , 30 is a step and 50 is 50% of progress
((ImageView) findViewById(R.id.imageView1)).setImageDrawable(ld2);

所以,在我的应用程序中,它什么也不显示,根本没有图像。但是,如果我将此代码复制到一个新项目中 - 一切正常并向我展示正确的图片。

什么可能是错的?任何想法 ?我怀疑您无法通过这些信息来判断,但可能有一些简单的东西我遗漏了,或者任何人以前都遇到过同样的问题?

4

0 回答 0