最近做一个效果,要一个上边两个角为圆角,下面两个角为直角的四边形白色背景;
如下图:
这里用到了shape属性中的corners 属性,
api原文中是这样:
<corners
android:radius="integer"
android:topLeftRadius="integer"
android:topRightRadius="integer"
android:bottomLeftRadius="integer"
android:bottomRightRadius="integer" />
单一设置android:radius="integer"时,表示四个角都为integer像素的圆角;
这里我开始的时候这样设置了四个属性
<corners android:topLeftRadius="10px"
android:topRightRadius="10px" android:bottomLeftRadius="0px"
android:bottomRightRadius="0px"/>
结果发现四个角无圆角效果,怎么找都找不到原因;
后来我想到了折中的办法,我这样设置:
<corners android:topLeftRadius="10px"
android:topRightRadius="10px" android:bottomLeftRadius="1px"
android:bottomRightRadius="1px"/>
下面的两个角我都给1个像素的圆角效果,这样在手机上根本看不出来有圆角效果;
做出来的效果如下:
源代码如下:在drawable文件夹下,建whiterounded_half_bg.xml文件,文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFFFF" />
<corners android:topLeftRadius="10px"
android:topRightRadius="10px" android:bottomLeftRadius="1px"
android:bottomRightRadius="1px"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp"
android:bottom="0dp" />
</shape>
然后在layout文件夹下,相应的页面中相应的位置下使用android:background="@drawable/whiterounded_half_bg"
圆角配置文件
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFFFF" />
<stroke android:width="1dp"
android:color="#CFCFCF" />
<corners android:topLeftRadius="10px"
android:topRightRadius="10px"
android:bottomLeftRadius="10px"
android:bottomRightRadius="10px"/>
<padding android:left="0sp"
android:top="2sp"
android:right="0sp"
android:bottom="2sp" />
</shape>
原文地址:http://zhaohaiyang.blog.51cto.com/2056753/533762
分享到:
相关推荐
- **线**:使用`<line>`标签,指定`android:x1`、`android:y1`为起点,`android:x2`、`android:y2`为终点。 - **多边形**:使用`<polygon>`,通过`android:points`属性定义顶点坐标,例如`"0,0 100,0 50,100"`。 ...
1. **圆角图片**:在XML drawable中,你可以通过`<corners>`标签设置ImageView的圆角半径,实现圆角效果。例如: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:...
总结起来,Android的XML背景定义提供了强大的灵活性,通过`<shape>`、`<layer-list>`和`<selector>`,我们可以创建出各种复杂的背景样式,适应不同的应用场景。在`ShapeDemo`中,你将有机会看到这些技术的实际运用,...
同样,我们可以通过`Shape Drawable`来实现圆角效果。创建一个名为`rounded_corner.xml`的XML文件: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#000000...
`<corners>`属性下,通过`android:radius`设定整体圆角半径,或者分别通过`android:topLeftRadius`、`android:topRightRadius`、`android:bottomLeftRadius`、`android:bottomRightRadius`设定各个角落的圆角大小。...
在Android开发中,Shape是XML资源文件中定义的一种图形元素,它可以用来创建各种形状,如矩形、椭圆、线和路径,同时支持自定义样式,包括圆角、虚线边框、部分圆角以及颜色的渐变效果。这篇内容将深入探讨Android ...
在这里,我们可以调整`corners`属性的值来改变圆角半径,达到想要的圆角效果。同时,通过`solid`设置按钮的填充颜色,`stroke`设置边框。 接下来,我们考虑添加边框效果。`stroke`标签下的`android:width`用于设置...
`Android-GradientDrawable调谐器`是一个实用工具,它帮助开发者更加直观地理解并调整`<shape>`标签中的各种属性。 这个调谐器项目(duanhong169-GradientDrawableTuner-f757f13)可能包含一个交互式的用户界面,...
在XML布局文件中,可以创建一个`<shape>`标签,并设置`<solid>`和`<corners>`属性来实现圆角效果。例如: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@...
二、实现圆角效果 通过`<corners>`标签可以设置控件的圆角。`android:radius`属性用于设置所有角落的相同圆角半径,如果希望单独设置每个角落的圆角,可以使用`android:topLeftRadius`、`android:topRightRadius`、`...
最后,定义好的Shape可以通过`android:background`属性应用到任何支持背景的View上,如`<LinearLayout>`, `<TextView>`, 或者自定义View。例如: ```xml <LinearLayout ... android:background="@drawable/your_...
`<shape>`是Android中最基本的图形定义方式之一,它可以用于创建复杂的背景效果。通常情况下,`<shape>`定义的XML文件会被放置在项目的`drawable`目录下,而不是`drawable-hdpi`等目录。`<shape>`支持定义多种类型的...
总的来说,创建Android圆角编辑框需要理解Android的图形绘制原理,熟悉`shape`资源的使用,以及如何在布局文件中应用这些资源。通过自定义背景或者使用第三方库,开发者可以根据需求轻松实现各种风格的圆角编辑框。
6. **其他高级技巧**:为了实现更复杂的圆角效果,比如只让顶部和底部有圆角,可以使用自定义ViewGroup或库,如`androidx.cardview.widget.CardView`,它可以方便地设置各个边角的圆角大小。 总的来说,Android ...
<solid android:color="#FF0000"/> <!-- 替换为你所需的填充颜色 --> <!-- 边框颜色和宽度 --> <stroke android:width="2dp" <!-- 边框宽度 --> android:color="#000000" /> <!-- 边框颜色 --> <!-- 设置...
在上面的例子中,`android:color="@color/your_ripple_color"`定义了水波纹的颜色,`<shape>`标签定义了水波纹的形状,`<corners>`则设置了圆角。`<item android:id="@android:id/mask">`内的`<shape>`定义了水波纹...
首先,在res下面新建一个文件夹drawable,在drawable下面新建三个xml文件:shape_corner_down.xml、shape_corner_up...<shape xmlns:android=http://schemas.android.com/apk/res/android> <solid android:color=#0
此外,为了在XML布局中实现圆角效果,可以使用`CardView`或`Material Design`库中的`ShapeableImageView`。这些组件提供了内置的圆角支持,并且可以轻松地设置圆角半径和背景透明度。 在项目源码中,可能包含了以上...
`<solid>`元素内包含`android:color`属性,用于指定填充色。 例如: ```xml <solid android:color="#FF0000" /> ``` 4. 渐变填充:使用`<gradient>`元素,你可以为形状创建线性或径向渐变。`android:startColor`和...
Shape是`<shape>`标签的根元素,它可以包含`<solid>`, `<stroke>`, `<padding>`, 和 `<corners>`等子元素,来分别定义形状的填充色、描边、内边距和圆角。 2. `<solid>`: 这个标签定义了形状的填充颜色。例如: ...