簡體   English   中英

如何創建按鈕的自定義形狀但保持可點擊和可聚焦

[英]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>

所以,總而言之,我認為最簡單的方法是仍然進行按鈕布局,但使用背景屬性來更改按鈕的外觀。

你可以通過兩種方式做到這一點

  1. 設置任何具有可繪制形狀的布局/按鈕並在 XML 中添加android:foreground="?attr/selectableItemBackground"

  2. 在按鈕中設置樣式屬性。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM