Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建按钮的自定义形状,但保持其可单击和可聚焦_Java_Android_Xml_Kotlin - Fatal编程技术网

Java 如何创建按钮的自定义形状,但保持其可单击和可聚焦

Java 如何创建按钮的自定义形状,但保持其可单击和可聚焦,java,android,xml,kotlin,Java,Android,Xml,Kotlin,我想制作一个按钮,使其具有自定义形状,但当我尝试更改形状时,它不可单击/聚焦,我该如何操作?您可以通过两种方式进行操作 使用shape drawable设置任何布局/按钮,并在XML中添加android:前台=“?attr/selectableItemBackground” 在按钮中设置样式属性。 style=“@style/buttonheme”在其XML中并定义 @颜色/#000000在/style文件夹中 我希望这就是你想要的,但我做过几次,我更喜欢圆形按钮,或者如果它是一个小部件,我想

我想制作一个按钮,使其具有自定义形状,但当我尝试更改形状时,它不可单击/聚焦,我该如何操作?

您可以通过两种方式进行操作

  • 使用shape drawable设置任何布局/按钮,并在XML中添加
    android:前台=“?attr/selectableItemBackground”

  • 在按钮中设置样式属性。
    style=“@style/buttonheme”
    在其XML中并定义
    
    @颜色/#000000
    在/style文件夹中


  • 我希望这就是你想要的,但我做过几次,我更喜欢圆形按钮,或者如果它是一个小部件,我想要一个复选框。以下是我刚刚通过更改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>
    
    
    @可拉拔/圆形按钮
    

    总之,我认为最简单的方法是仍然进行按钮布局,但是使用background属性来更改按钮的外观

    您是否尝试过使用ImageButton或自定义drawablesAny luck作为按钮背景?