[Android] 透明背景被填滿黑色

問題

我的透明按鈕不知為何,

在某支手機上看起來被填滿了黑色。

black

 在其他手機上顯示的黑色按鈕

transparent

我手機上顯示的透明按鈕

解答

每支手機的預設主題風格設定皆不同,

一樣的按鈕,在各裝置上可能都會表現出差異;

要降低差異的風險,就是刻UI時要經過縝密的思考。

這個案例的原因在於:

沒有設定預設要填滿的顏色,沒設定不等於透明。

漏掉了第16行solid設定:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape android:shape="oval">
            <gradient
                android:angle="270"
                android:startColor="#78b3b3"
                android:endColor="#167F92"/>
            <size
                android:height="100dp"
                android:width="100dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="oval">
            <solid android:color="@android:color/transparent" />
            <size
                android:height="100dp"
                android:width="100dp" />
            <stroke
                android:color="#fff"
                android:width="1dp"/>
        </shape>
    </item>
</selector>

 

有什麼想法嗎?快來跟大家分享你的看法。