2015-11-03 42 views
1

AppCompatButton參考頁:意外投給AppCompatButton:佈局標籤是按鈕

當您在佈局中使用此按鈕將自動使用。編寫自定義視圖時,您只需手動使用此類。

我鑄造正常ButtonAppCompatButton,這樣我就可以使用setSupportBackgroundTintList方法:

AppCompatButton button = (AppCompatButton) findViewById(R.id.normalButton); 
button.setSupportBackgroundTintList(ColorStateList.valueOf(tintColor)); 

它建立並沒有任何問題上運行,而Android 1.4工作室給了我討厭紅色的亮點上鑄造生產線:

意外投給AppCompatButton:佈局標籤是按鈕

有什麼建議嗎?

+0

它可能是一個錯誤在ide – Blackbelt

回答

3

它看起來像在IDE類型檢查中的錯誤 - 按鈕是AppCompatButton的直接祖先,所以強制轉換爲AppCompatButton應該沒問題。我相信你可以安全地調用它像這樣:

Button button = (Button) findViewById(R.id.normalButton); 
((AppCompatButton)button).setSupportBackgroundTintList(ColorStateList.valueOf(tintColor)); 

或更好

((TintableBackgroundView)button).setSupportBackgroundTintList(ColorStateList.valueOf(tintColor)); 

如果使用Butterknife,一切正常,沒有任何警告:

@Bind(R.id.normalButton) 
AppCompatButton button; 
+0

對於AndroidAnnotations,你應該使用這個技巧 –