Android では、xml を介して背景を設定でき、何でも問題ありません。いくつかの特別なケースでは、Java 内で設定する必要があります (つまり、List-Rows を変更します)。彼は次のように宣言できると考えることができます。
View v = findViewById(R.id.some_view);
v.setBackgroundResource(R.drawable.somedrawable);
残念ながら、この特定のビューはパディングを失っています。私はこのような機能メソッドを持っていますが、それはうまく機能します:
private void applyDifferentBackgroundResource(int resId, View v){
final int paddingBottom = v.getPaddingBottom();
final int paddingLeft = v.getPaddingLeft();
final int paddingRight = v.getPaddingRight();
final int paddingTop = v.getPaddingTop();
v.setBackgroundResource(resId);
v.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
}
しかし、好奇心から:ビューがパディングを失っている理由、または Android コードがsetBackgroundResource
パディング自体を処理できない (またはすべきでない) 理由はありますか?