2016-01-13 67 views
0

我正在使用ContextCompat(v4支持庫版本)以編程方式在我的代碼中獲取drawables。它在除了棉花糖以外的所有Android版本上工作正常。我的意思是圖像不顯示在屏幕上的機器人M.這裏是我使用的代碼:ContextCompat.getDrawable不能在棉花糖上工作

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); 
+0

你是什麼意思,它不工作? –

+0

@Jared圖像在調用'setCompoundDrawables'時爲什麼沒有在屏幕上顯示在Marshmallow – allstraws

+0

爲什麼你使用'sd.getDrawable()'而不是'sd'? – pskink

回答

0

我沒有找到任何文件,但只有setProgressDrawable工作,當它被setLayoutParams之前調用。這段代碼來自CursorAdapter。

這工作:

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)); 
     } 
相關問題