1

ドローアブル フォルダーにサム イメージの xml を作成しました

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

    <item
        android:bottom="5px"
        android:left="5px"
        android:right="5px"
        android:top="5px">
        <shape
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="oval" >
            <stroke
                android:width="2dp"
                android:color="#FFFFFFFF" />


            <gradient
                android:endColor="#4DB9E6"
                android:startColor="#4DB9E6" />

            <size
                android:height="40dp"
                android:width="40dp" />
        </shape>
    </item>

</layer-list>

うまく機能しています。

サム イメージ xml の異なるサイズが必要です。

これを動的に達成する方法は?

4

3 に答える 3

2

フォームにアクセスして、ドローアブルのサイズを変更できます

getResources().getDrawable(R.drawable.thumb_xml);

その後、setBound() メソッドを使用します。

ただし、コードとメソッドパラメーターの変更により、実行時に Drawable を作成することもできます。

Drawable getThumb(int width,int height){
GradientDrawable thumb= new GradientDrawable(
             GradientDrawable.Orientation.TOP_BOTTOM,
                 new int[] {Color.parseColor("#4DB9E6"),
                            Color.parseColor("#4DB9E6")});
                 thumb.setShape(GradientDrawable.OVAL);
                 thumb.setStroke(2,Color.parseColor("#FFFFFF"));
                 thumb.setBounds(0, 0, 40, 40);

      return thumb;
}
于 2014-01-29T10:07:34.170 に答える