[英]How to create a custom shape of a button but keep it clickable and focusable
我想制作一個具有自定義形狀的按鈕,但是當我嘗試更改形狀時,卻無法點擊/聚焦,我該怎么做?
我希望這就是你要找的東西,但我已經做了幾次,我更喜歡圓形按鈕,或者如果它是一個小部件,我想要一個復選框。 這是我剛剛通過更改 android:background 所做的幾個示例:
<Button
android:id="@+id/widget_yes_no_checkbox_off"
android:layout_width="@dimen/checkbox_size"
android:layout_height="@dimen/checkbox_size"
android:layout_marginEnd="@dimen/right_margin"
android:layout_gravity="center"
android:background="@android:drawable/checkbox_off_background"
/>
這給了我一個看起來像復選框的按鈕(在小部件中創建復選框所必需的)。
或者,這是一個可繪制的 xml 來幫助我圍繞按鈕
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="@color/primaryDarkColor"/>
<corners android:radius="20dp"/>
</shape>
與其相應的風格主題:
<style name="myAppStyle.ButtonStyle">
<item name="android:background">@drawable/rounded_button</item>
</style>
所以,總而言之,我認為最簡單的方法是仍然進行按鈕布局,但使用背景屬性來更改按鈕的外觀。
你可以通過兩種方式做到這一點
設置任何具有可繪制形狀的布局/按鈕並在 XML 中添加android:foreground="?attr/selectableItemBackground"
在按鈕中設置樣式屬性。 style="@style/buttonTheme"
在其 XML 中定義<style name="buttonTheme" parent="Widget.AppCompat.Button.Colored"> <item name="colorButtonNormal">@color/#000000</item>
/style 文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.