如何调整位图大小

时间:2015-03-27 10:07:16

标签: android xml layout

我想实现spinner一个样式,但是三角形图标太大了,怎么可能控制它的尺寸???

style.xml

    <item name="android:background">@drawable/gradient_spinner</item>
    <item name="android:layout_marginLeft">10dp</item>
    <item name="android:layout_marginRight">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>
    <item name="android:paddingLeft">8dp</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
    <item name="android:popupBackground">#DFFFFFFF</item>
</style>

gradient_spinner.xml

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

    <item>
        <layer-list>
            <item>
                <shape>
                    <gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />

                    <stroke android:width="1dp" android:color="#ffffff" />

                    <corners android:radius="4dp" />

                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape>
            </item>
            <item android:drawable="@drawable/spinner_arrow"
                android:gravity="bottom|right"
                />
        </layer-list>
    </item>
</selector>

目前如何看待渐变旋转器 http://imgur.com/bwKEoo2

1 个答案:

答案 0 :(得分:1)

你可以使用java代码调整位图大小。

Bitmap bitmap;
int height = (bitmap.getHeight() * 512 / bitmap.getWidth());
Bitmap scale = Bitmap.createScaledBitmap(bitmap, 512,height, true);
image.setImageBitmap(scale);