Android ContextCompat.getDrawable无法在棉花糖上工作

Android ContextCompat.getDrawable无法在棉花糖上工作,android,android-drawable,Android,Android Drawable,我正在使用ContextCompat(v4支持库版本)以编程方式获取代码中的可绘图项。除了棉花糖,它在所有安卓版本上都运行良好。我的意思是,在android M中,图像不会显示在屏幕上。以下是我使用的代码: Drawable myDrawable = ContextCompat.getDrawable(mActivity, R.drawable.id); myDrawable.setBounds(0, 0, (int) (myDrawable.getIntrinsicWidth() * 0.6)

我正在使用ContextCompat(v4支持库版本)以编程方式获取代码中的可绘图项。除了棉花糖,它在所有安卓版本上都运行良好。我的意思是,在android M中,图像不会显示在屏幕上。以下是我使用的代码:

Drawable myDrawable = ContextCompat.getDrawable(mActivity, R.drawable.id);
myDrawable.setBounds(0, 0, (int) (myDrawable.getIntrinsicWidth() * 0.6), (int) (myDrawable.getIntrinsicHeight() * 0.6));
ScaleDrawable sd = new ScaleDrawable(myDrawable, 0, -1, -1);
mToggleButton.setCompoundDrawables(sd.getDrawable(), null, null, null);

我没有找到任何文档,但setProgressDrawable仅在setLayoutParams之前调用时才起作用。此代码来自游标适配器

这起到了作用:

ProgressBar progressBar3 = (ProgressBar) view.findViewById(R.id.progressBar3);
        if(numScoreValues == 4){
        progressBar3.setProgressDrawable(ContextCompat.getDrawable(context,R.drawable.progress_green));
        }
        progressBar3.setMax(totalTargets);
        progressBar3.setProgress(userResultArray[3]);
        progressBar3.setLayoutParams(params);
这不起作用。进度条没有背景

  ProgressBar progressBar3 = (ProgressBar)              view.findViewById(R.id.progressBar3);

        progressBar3.setMax(totalTargets);
        progressBar3.setProgress(userResultArray[3]);
        progressBar3.setLayoutParams(params);
if(numScoreValues == 4){
                progressBar3.setProgressDrawable(ContextCompat.getDrawable(context,R.drawable.progress_green));
        }

你说它不工作是什么意思?@Jared image在调用
setCompoundDrawables
时没有显示在棉花糖的屏幕上,为什么要使用
sd.getDrawable()
而不是
sd
?@pksink,因为我需要显示可绘制的图像。此外,使用sd而不是sd.getDrawable()也不能解决问题。@pksink Resource#getDrawable在棒棒糖和更高版本中被弃用。所以我也不能用这个。