Android绘制矩形,但一个角是圆角

时间:2014-12-26 03:00:32

标签: android canvas draw

如何绘制矩形,并且一个角是圆角的?我尝试使用drawRoundRect但它不能只绘制一个角是舍入的。如何绘制它?

2 个答案:

答案 0 :(得分:0)

要实现此UI,您可以使用xml选择器

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<stroke android:width="1dp" android:color="@color/light_gray" />
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
<corners android:topLeftRadius="6dp" android:topRightRadius="6dp"
         android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>

您可以通过标记角来管理

<corners android:topLeftRadius="6dp" android:topRightRadius="6dp"
     android:bottomLeftRadius="0.1dp" android:bottomRightRadius="0.1dp"/>

有关详细信息,您可以访问shape drawable。

http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

答案 1 :(得分:0)

@Yogendra的答案可以通过完成xml后台文件(例如,left_rounded.xml)来改善

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#DAD9D9" />
    <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp" />
    <corners android:topLeftRadius="5dp" android:topRightRadius="0dp"
        android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
</shape>

此代码使左角变圆,您可以使用 corner 标签制作自己的代码 现在将其设置在视图的背景中,假设textView

 <TextView
         android:id="@id/pic_count"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center"
         android:background="@drawable/left_rounded_grey"
         android:text="1"
         android:textColor="#000000"
         android:textSize="14sp" />