我正在 android studio 中處理一個專案,我正在嘗試將邊框更改為我的按鈕。當我將它添加到我的網格時,我的默認按鈕如下所示:

在可繪制檔案中添加新的 XML 檔案(稱為 box_solid_border.XML)后,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="4dp"
android:color="#000000" />
</shape>
結果是它正在創建我可以看到的下一個形狀:

這正是我想添加到我的按鈕的內容。
當我回到主檔案中的 XML 并將下一行添加到我的按鈕時:

正如您在第 226 行中看到的,我將剛剛為此按鈕創建的背景添加到按鈕中。和線附近,有我想要的確切邊界。但是在應用程式中,按鈕仍然保持默認的按鈕不變,沒有添加邊框。像這樣:

有人知道drawable檔案不影響按鈕的原因嗎?如果我對 textView 或其他東西做同樣的事情,它的作業非常好,只是按鈕看起來不受他的可繪制擴展的影響。
謝謝!
uj5u.com熱心網友回復:
您需要將此屬性添加到您的按鈕:
app:backgroundTint="@null"
如果它同時具有屬性android:background和app:backgroundTint(如果您為應用程式使用默認主題,它具有默認值),則指定的顏色app:backgroundTint將覆寫在可繪制物件的形狀上。
uj5u.com熱心網友回復:
對于按鈕的邊框嘗試編輯 drawable 檔案夾中的 box_solid_border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:color="@color/black"
android:width="5dp"/>
<corners
android:radius="8dp"/>
<solid
android:color="@color/colorAccent"/>
</shape>
在布局 xml 檔案中
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/box_solid_border"
android:text="Button"
android:textColor="#fff"
android:textSize="30sp" />
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/326738.html
