如何画出完美的圆形按钮?

时间:2013-12-11 04:17:31

标签: android android-xml android-button

我想画一个完美的圆形按钮。 我尝试使用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >
    <stroke 
        android:width="3dip"
        android:color="#065a32" />
    <corners android:radius="10dip"/>
      <solid android:color="#eaebec" />
</shape>

但即使我更改参数,我也只能绘制椭圆形状:

<stroke 
android:width="3dip"/>
<corners android:radius="10dip"/>

我的屏幕截图:

enter image description here

我已经尝试过这个网站的不同链接,但没有一个能满足我的需求。

修改

我的getView()代码是:

public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (convertView == null) { 
            LayoutInflater vi = (LayoutInflater) mContext
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.calendar_item, null);

        }
view.setBackgroundResource(R.drawable.calendar_cell_clicked);
}

3 个答案:

答案 0 :(得分:8)

使用此xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >

  <solid
      android:color="#eaebec" />
</shape>

并在您设置背景使用的布局中

        android:layout_width="50dp"
        android:layout_height="50dp"

或者你需要圆圈的任何尺寸。

答案 1 :(得分:0)

使用此xml

<?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="2dp" android:color="#fff" />
</shape>

并在您的布局中

android:background="@drawable/button"

答案 2 :(得分:0)

在您的drawable文件夹中创建以下

<强> circular_button.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:innerRadius="15dp"
    android:thickness="10dp"
    android:useLevel="false">

    <solid android:color="#ce2c2c" />

</shape>

将以下属性添加到任何按钮以使其成为圆形

android:background="@drawable/circular_button"

<强>输出

Output