自定义RelativeLayout具有圆形边界

时间:2015-04-08 04:34:41

标签: android user-interface android-relativelayout

我需要显示一个需要有圆形边界的视图。 我知道可以通过扩展RelativeLayout来完成。但是完全不知道除了构造函数之外要覆盖的所有方法以及为了显示循环边界而必须进行的代码更改。

使用Image更新了问题。 所以基本上这是一个动画。 并且微小的视图从圆周上从屏幕出来(而不是矩形视图)。 所以我必须创建一个具有这些图像的子项的圆形视图(相对布局)。 Image which have circular corner view

2 个答案:

答案 0 :(得分:1)

使用android.support.v7.cardview并将RelativeLayout作为其子级。

https://developer.android.com/reference/android/support/v7/widget/CardView.html

请注意以上链接:

  

由于圆角切割的昂贵性质,在平台上   在L之前,CardView不会剪切与其相交的子节点   圆角。相反,它添加填充以避免这种交集   (请参阅setPreventCornerOverlap(boolean)以更改此行为。)

答案 1 :(得分:0)

我认为你需要制作任何带圆角边框的布局。使用下面的代码进行make layout round。

round.xml

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

<item><shape>
        <solid android:color="@color/list_row_bg" />
        <corners android:bottomLeftRadius="4dp" 
            android:bottomRightRadius="4dp" 
            android:topLeftRadius="4dp" 
            android:topRightRadius="4dp" />
        <stroke android:width="1dp" android:color="@color/header_bg" />
    </shape></item>
 </selector>

把这个round.xml文件放到drawable文件夹中。并在你的布局中用作backgournd。

my_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="25dp" >

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/round" />

</LinearLayout>