圆形图像按钮android

时间:2014-01-28 04:53:46

标签: android android-layout android-imageview

我有一个像图片中的图像按钮。我想要它周围的红色空间(它将是透明的,只是用红色来标识空格)是不可点击的。可能吗 ?我尝试了不同的代码,比如通过xml或一些圆形的imageview代码,但没有任何帮助我..

enter image description here

2 个答案:

答案 0 :(得分:6)

无需计算任何内容,您唯一需要做的就是在按钮模板xml(可绘制的)中定义imageButton的形状。

所以在UI布局xml文件中,ImageButton可能会像这样描述

<ImageButton
            android:id="@+id/button"
            android:layout_width="300dp" 
            android:layout_height="300dp" 
            android:src="@drawable/yourIcon" 
            android:background="@drawable/button" <!-- PATTERN!! -->
            android:contentDescription="obrazek"
            android:padding="5dp"
            android:layout_margin="1dp"
            android:onClick="onClick"/>

并在你的模式文件中声明shape="oval",就像这样

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval">
    <gradient
        android:startColor="#50d050"
        android:endColor="#008000" 
        android:angle="270"/>

    <stroke 
        android:width="1px"
        android:color="#000000"/>

</shape>

它不能再简单了。 :d

答案 1 :(得分:2)

你可以:

  1. 获取点击坐标,测量距中心的距离,忽略距中心的距离大于半径的点击
  2. 通过几个可点击的方形区域近似圆圈,或者,可能会在原始方形按钮上放置几个可忽略点击的可点击视图,从而覆盖不应点击的区域。