Java 改变按钮形式

Java 改变按钮形式,java,android,togglebutton,Java,Android,Togglebutton,我想制作一个圆形按钮,因为原始按钮(“ToggleButton”类是我在应用程序中使用的按钮类型)有点令人毛骨悚然和过时。我正在搜索一个“xml”解决方案,而不是简单地更改按钮的图像,因为我想在按钮文本下方保留绿色或灰色条,这是切换按钮的基本显示,只需更改按钮的形式即可 我们可以这样做吗 我将为btn的每个状态创建两个xml可绘制文件:(保存到您的可绘制文件夹) 四舍五入\u btn\u black.xml <?xml version="1.0" encoding="utf-8"?>

我想制作一个圆形按钮,因为原始按钮(“ToggleButton”类是我在应用程序中使用的按钮类型)有点令人毛骨悚然和过时。我正在搜索一个“xml”解决方案,而不是简单地更改按钮的图像,因为我想在按钮文本下方保留绿色或灰色条,这是切换按钮的基本显示,只需更改按钮的形式即可


我们可以这样做吗

我将为btn的每个状态创建两个xml可绘制文件:(保存到您的可绘制文件夹)

四舍五入\u btn\u black.xml

<?xml version="1.0" encoding="utf-8"?>

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" 
    android:color="@color/black">
    <size
                android:height="100dp"
                android:width="10dp" />
    <corners
       android:radius="15dp"
         />



     <solid
        android:color="@color/black" />

</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/rounded_btn_black" android:state_pressed="true" />
    <item android:drawable="@drawable/rounded_btn_black" android:state_focused="true" />
    <item android:drawable="@drawable/rounded_btn_orange" android:state_enabled="true" />
    <item android:drawable="@drawable/rounded_btn_orange" />
</selector>

另一个是橙色的,只是换了颜色

然后创建选择器xml文件rounded_button.xml

<?xml version="1.0" encoding="utf-8"?>

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" 
    android:color="@color/black">
    <size
                android:height="100dp"
                android:width="10dp" />
    <corners
       android:radius="15dp"
         />



     <solid
        android:color="@color/black" />

</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/rounded_btn_black" android:state_pressed="true" />
    <item android:drawable="@drawable/rounded_btn_black" android:state_focused="true" />
    <item android:drawable="@drawable/rounded_btn_orange" android:state_enabled="true" />
    <item android:drawable="@drawable/rounded_btn_orange" />
</selector>

然后在布局中:

<Button
        android:id="@+id/login"
        android:layout_width="fill_parent"
        android:layout_height="@dimen/standard_btn_height"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="@dimen/standard_margin"
        android:layout_marginLeft="@dimen/standard_margin"
        android:layout_marginRight="@dimen/standard_margin"
        android:background="@drawable/rounded_button"
        android:text="@string/alreadyRegisterd"
        android:textColor="@color/white" >
    </Button>

找到一种更容易制作按钮的方法:


相反,我设置了
android:shape
oval

我不明白你在问什么。你说的形式是什么意思?当然,你可以随心所欲地设计
按钮的样式。我会把按钮做成圆形而不是长方形。我搜索了canvas,但我不确定这是正确的解决方案。可能是重复的是,很抱歉