如何在android中制作圆形按钮[重复]
Posted
技术标签:
【中文标题】如何在android中制作圆形按钮[重复]【英文标题】:How to make circular button in android [duplicate] 【发布时间】:2018-06-17 02:39:33 【问题描述】:我有一个应用程序,我必须在其中制作我成功制作的圆形按钮,但是当我单击按钮然后更改背景可绘制时我想要什么,但是当我这样做时,那个圆形按钮变得不可见。我该怎么做
代码:-
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<stroke android:color="@color/colorPrimary" android: />
<solid android:color="@color/colorPrimaryDark"/>
<size android: android:/>
</shape>
</item>
【问题讨论】:
电池使用FloatingActionButton
为什么我们要添加额外的后缀
但是如何根据浮动按钮中的数据改变文字和背景
【参考方案1】:
使用它 - drawable/style_circular_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="oval">
<solid android:color="@color/colorDeepOrange"/>
<size android: android:/>
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="oval">
<solid android:color="@color/colorOrange"/>
<size android: android:/>
</shape>
</item>
<item >
<shape android:shape="oval">
<solid android:color="@color/colorOrange"/>
<size android: android:/>
</shape>
</item>
</selector>
并将style_circular_button.xml
设置在Button
的背景上 -
<Button
android:id="@+id/btnSignin"
android:layout_
android:layout_
android:text="@string/text_btn_login"
android:background="@drawable/style_circular_button"/>
【讨论】:
【参考方案2】:使用代码更改图像
public void onClick(View v)
if(v == ButtonName)
ButtonName.setImageResource(R.drawable.ImageName);
或者,使用 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/login_selected" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/login_mouse_over" /> <!-- focused -->
<item android:drawable="@drawable/login" /> <!-- default -->
</selector>
在 OnClick 中,只需添加以下代码:
ButtonName.setBackgroundDrawable(getResources().getDrawable(R.drawable.ImageName));
你可以使用这个drawable来获取desired circle
UPD:setBackgroundDrawable
已弃用,请查看here。
【讨论】:
以上是关于如何在android中制作圆形按钮[重复]的主要内容,如果未能解决你的问题,请参考以下文章