view.setBackgroundDrawable(Drawable)
を使用したかったのですが、このメソッドは 非推奨 です。 .setBackground(Drawable)
に置き換えられました。しかし、私の最小のAPI 8はそれを処理できません。最小値をAPI 16に設定するよう指示されます。
デバイスのAPIに基づいて、別の方法を使用する方法はありますか?
何かのようなもの
if(API<16)
{
view.setBackgroundDrawable(Drawable)
}
else
{
view.setBackground(Drawable)
}
それとも、これを行うには最小限のAPIを変更する必要がありますか?
setBackgroundDrawable
は非推奨ですが、引き続き機能するため、そのまま使用できます。しかし、完全に正確になりたい場合は、次のようなものを使用する必要があります
int sdk = Android.os.Build.VERSION.SDK_INT;
if(sdk < Android.os.Build.VERSION_CODES.JELLY_BEAN) {
setBackgroundDrawable()
} else {
setBackground();
}
これを機能させるには、buildTarget api 16を設定し、最小ビルドを7または同様のものに設定する必要があります。
このようなもの:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN){
view.setBackgroundDrawable(Drawable)
} else {
view.setBackground(Drawable)
}
APIのバージョンに基づいてさまざまなメソッドを使用できます。
例:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) {
//Methods for version <8 (FROYO)
} else {
// Methods for version >=8
}
ここでtargetSDkversion
を上位バージョン(ここでは16など)に設定し、minsdkversion
を下位バージョン(API 7)に設定します。