アプリケーションで多数の ShapeDrawables を使用したいのですが、それらはすべて似ていますが、色などが異なります。明らかに、それらをすべて個別の xml ファイルで定義することもできますが、1 つの xml 定義を作成し、さまざまなインスタンスを作成するより効率的な方法はありますか?コードまたはxmlで色を変更しますか? おそらく、xml で定義された 1 つの ShapeDrawable で mutate() を呼び出すことでこれを行うことができますが、これはシェイプ ドローアブルではなく、ドローアブルを返します。
2471 次
2 に答える
0
実際にあなたが求めたことをすることは可能です、
この投稿はあなたにそれをする方法を示します。
私はそれを試しました、そしてそれは完全に働きます。リストから単一のドローアブルを参照する方法は見つかりませんでした。
レベルリストは、オブジェクトのさまざまな状態を表すために単一のオブジェクトに使用されることを意図しているようです。この場合、小さなファイルがたくさんあるのを避けるために、描画可能なコンテナとして使用しています。
たぶん、将来のanrdroidリリースは、専用のドローアブルコンテナをサポートするでしょう。
于 2013-02-25T08:34:30.280 に答える
0
ShapeDrawable の代わりにGradientDrawableを使用してください。
于 2010-08-16T18:09:37.707 に答える