Android布局组件中实现圆角边框的两种方法
2015-10-20 16:36
627 查看
设置corners_bg.xml
设置边框圆角可以在drawable-mdpi目录里定义一个xml: [html] view
plaincopy
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<corners android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"/>
</shape>
解释:
solid的表示填充颜色,为了简单,这里用的是白色。
而corners则是表示圆角,注意的是这里bottomRightRadius是左下角而不是右下角,bottomLeftRadius右下角。
上面的效果也可以像下面一样设置,如下:
[html] view
plaincopy
<corners android:radius="5dp" />
引用corners_bg.xml
如果想引用这个xml,只需要@drawable/corners_bg.xml即可: [html] view
plaincopy
android:background="@drawable/corners_bg"
Java代码动态加载
/** * 代码动态绘制View的圆角边框 * @param radius 15dp * @param borderLength 1dp * @param borderColor * @return */ public static ShapeDrawable createRoundCornerShapeDrawable(float radius, float borderLength, int borderColor) { float[] outerRadii = new float[8]; float[] innerRadii = new float[8]; for (int i = 0; i < 8; i++) { outerRadii[i] = radius + borderLength; innerRadii[i] = radius; } ShapeDrawable sd = new ShapeDrawable(new RoundRectShape(outerRadii, new RectF(borderLength, borderLength, borderLength, borderLength), innerRadii)); sd.getPaint().setColor(borderColor); return sd; }
引用createRoundCornerShapeDrawable
tagTextView.setBackground(createRoundCornerShapeDrawable( radius, (float)DisplayUtils.pxToDip(mContext,BORDER_WIDTH_VALUE), tag_bg_colors[i % (MAX_NUM_OF_SELECTED_TAG_DEFAULT -1)] ));
相关文章推荐
- android Binder的优点
- Jenkins+Gradle+pmd对Android工程源码进行静态代码分析
- Android Xfermode 实战 实现圆形、圆角图片
- [Android自定义控件] Android自定义控件
- android点亮屏幕
- Android lint 删除无用图片文件和配置文件
- android SlidingTabLayout实现ViewPager页卡滑动效果
- Android里 listview 添加 HeaderView
- Android 百度地图开发(一)
- Android 命名规范(提高代码可以读性)
- 【Android】Android Studio 使用第三方类库
- service(二) Android Studio 编写远程服务
- Jenkins+Gradle+checkstyle对Android工程源码进行静态代码分析
- android监测用户刚刚拍照
- Android fill_parent和wrap_content分析
- Jenkins+Gradle+findbugs对Android工程源码进行静态代码分析
- android开源项目框架大全:
- android之获取视频帧
- ANDROID应用与系统安全防御
- Android如何绘制Views