我知道这个问题是重复但我无法找到创建自定义形状按钮的解决方案,如圆形,椭圆形等。
疑惑1:我的目标是仅在单击形状内的区域时执行操作,不应在形状外部执行任何操作(例如,只有圆形区域必须与听众连接)
疑惑2:我可以使用形状的png图片作为背景,还是应该只使用形状来绘制它们。 请给我一个简单的解决方案......
提前致谢..
答案 0 :(得分:2)
您可以使用ImageButtons并将椭圆形或圆形图像设置为背景。我希望它有所帮助
答案 1 :(得分:2)
尝试此链接,它将帮助您创建自定义按钮。 http://angrytools.com/android/button/
您所要做的就是将button.xml文件保存在drawable文件夹中,然后将按钮背景设置为
android:background="@drawable/button.xml"
答案 2 :(得分:1)
您应该使用ShapeDrawable
来完成这项工作。例如,如果您创建了一个圆形按钮,那么如果您在圆形区域外单击,则不会发生任何事情。
例如,在drawable文件夹中,创建xml文件circle_button:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#9F2200"/>
<stroke android:width="2sp" android:color="#fff" />
</shape>
并在按钮中设置background="@drawable/circle_button"
答案 3 :(得分:0)
正如@MSaudi所说,ShapeDrawable会为你提供形状按钮。
如果你想使用更难的PNG。
我会通过扩展Button类并覆盖onTouchEvent
方法来处理它,只在内部需要的形状内注册一个点击(可能通过检查视图在点击位置是否透明)。