4

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パディング自体を処理できない (またはすべきでない) 理由はありますか?

4

0 に答える 0