因爲從自身的Android庫不一致, 首先,你需要創建方法getDrawable:
private Drawable getDrawable(int id) {
final int sdk = android.os.Build.VERSION.SDK_INT;
if (sdk >= android.os.Build.VERSION_CODES.LOLLIPOP) {
return ContextCompat.getDrawable(getContext(), id);
} else {
return getContext().getResources().getDrawable(id);
}
}
然後,創建方法setBackgroundView:
private void setBackgroundView(View v, int drawable_Rid) {
Drawable background = getDrawable(drawable_Rid);
final int sdk = android.os.Build.VERSION.SDK_INT;
if (sdk >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
v.setBackground(background);
} else {
v.setBackgroundDrawable(background);
}
}
最後調用這樣與抽拉名稱setBackgroundView:
setBackgroundView(rl, R.drawable.loginbackground3);
我使用rl.setBackgroundResource(R.drawable.loginbackground3)嘗試;我沒有得到任何錯誤,但它不起作用。什麼都沒發生。背景不會改變 –