[英]Android custom button unwanted flickering black border when pressed
我遇到了一個奇怪的問題,我在網上找不到任何東西。 我創建了一個具有默認布局列表的自定義選擇器,並在按下時切換到另一個選擇器。 看起來像這樣(button.xml):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:drawable="@drawable/fbutton_pressed" android:state_pressed="true"/>
<!-- default -->
<item android:drawable="@drawable/fbutton_unfocused"/>
</selector>
這些是布局列表的外觀,例如http://pastebin.com/ezZB8a8U 。
這是一個示例按鈕
<Button
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/button" />
現在的問題是,按下按鈕會創建一個隨機的黑色邊框,以填充其寬度和高度(按住按鈕會導致邊框閃爍)。 這在我的Samsung Galaxy Tab A上沒有發生,但在我的Sony Xperia Z3 +上卻發生了。 這是隨機發生的,但是當它發生時,它似乎一直在發生,直到我重新啟動該活動,以便它每次按下還是根本不發生,這取決於該活動是否為“ bug(?)”。
希望您能理解我的問題,英語不是我的母語。 順便說一句,我沒有以編程方式對按鈕執行任何操作。
謝謝!
更新:我的一個朋友在手機上嘗試了該應用程序,該手機是較舊的htc,他得到了同樣閃爍的邊框。 還嘗試了三星銀河s5,並在該設備上不會發生。 尚未解決。
在您的button.xml上嘗試以下代碼:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true"/>
<layer-list>
<item
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp">
<shape android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#BFBFBF" />
<gradient
android:angle="90"
android:centerColor="#e5f0ff"
android:endColor="#b3d3ff"
android:startColor="#99c4ff" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
</shape>
</item>
</layer-list>
</item>
<!-- unpressed -->
<item android:state_enabled="true">
<layer-list>
<item
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp">
<shape android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#BFBFBF" />
<gradient
android:angle="90"
android:centerColor="#F4F4F4"
android:endColor="#E5E5E5"
android:startColor="#d3d3d3" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.