5

実行中のバックグラウンド プロセスの進行状況を表示するボタンの背景を変更しようとしています。2 つの色で構成されたドローアブルを使用しているため<item>、次のレイヤー リストでこれらの s の上部と下部のプロパティをプログラムで変更する必要があります。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:bottom="20dp">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>

    <item android:top="30dp">
        <shape android:shape="rectangle" >
            <solid android:color="#000000" />
        </shape>
    </item>
</layer-list>

<item>要素を選択して Java コードから変更することができません。

4

2 に答える 2

0

別の項目値で同じ xml ファイルを作成し、ボタンの新しい背景を設定するだけです。実行時にこれらの値を変更できないようです。

于 2013-08-10T15:17:27.083 に答える
0

Android は実行時に XML を使用しないため、XML を変更しても役に立ちません。代わりに、LayerDrawableを見てください。これが XML から作成され、実行時に使用されるためです。

したがって、基本的には、次のようなことを実行して、そこから続行できます。

ただし、より良い/より簡単な方法は、おそらく独自の Drawable クラスを作成することです。これは、描画する四角形が 2 つしかないため、かなり単純です。

于 2013-08-10T17:10:14.740 に答える