android自定义圆角实线边框,圆角虚线边框,直实线,虚实线,半圆角边框

摘要:
--主要设置绘图的填充颜色--˃3537234569101122232425如下所示,通过拐角将右下角和右上角的半径设置为5dp,将左上角和左下角的半径设为0dp。我们可以获得右上角和右下角的边界。实现非常简单。我们只需设置android:shape=”line“,然后通过android设置线条的宽度:库存宽度,通过android设置线的颜色;颜色。

先上图

android自定义圆角实线边框,圆角虚线边框,直实线,虚实线,半圆角边框第1张

在现实项目开发中,单纯的Button,EditText等控件远远不能满足我们项目的UI设计需求,这时候,我们就需要自己动手丰衣足食啦。接下来先给大家介绍一些属性,备注写的都非常清楚啦,我就不啰嗦啦。
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <!--android:shape属性代表绘制的图形形状 retangle;矩形,oval:椭圆 ,line:线 ring,环形-->
 3 <shape xmlns:android="http://schemas.android.com/apk/res/android"
 4     android:shape="###">
 5 
 6     <!--stroke主要给我们所要画的图形进行描边 color:边框颜色,边框宽度,dashGap:虚线框的间隔,dashWidth:虚线框的宽度-->
 7     <stroke
 8         android:width="###"
 9         android:color="###"
10         android:dashGap="###"
11         android:dashWidth="###" />
12 
13     <!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:左下角半径,
14     bottomRightRadius:右下角半径,topLeftRadius:左上角半径,topRightRadius:右上角半径-->
15     <corners
16         android:bottomLeftRadius="###"
17         android:bottomRightRadius="###"
18         android:radius="###"
19         android:topLeftRadius="###"
20         android:topRightRadius="###" />
21 
22     <!--padding主要设置内边距,也就是你装载的内容(大部分是Textview或者button)离图形边框的距离
23     bottom:下内边距,left:左内边距,right:右内边距,top:上内边距-->
24     <padding
25         android:bottom="###"
26         android:left="###"
27         android:right="###"
28         android:top="###" />
29 
30     <!--这个就不需要讲了吧-->
31     <size
32         android:width="###"
33         android:height="###" />
34     <!--主要设置你所画图形的填充色-->
35     <solid
36         android:color="###"/>
37     <!--gradient主要指定一个渐变颜色的形状。-->
38     <gradient
39         android:angle="###"
40         android:centerColor="###"
41         android:centerX="###"
42         android:centerY="###"
43         android:gradientRadius="###"
44         android:endColor="###"
45         android:startColor="###"
46         android:type="###"
47         android:useLevel="###"/>
48 </shape>

接下来我们看最顶上的"哈哈"与"嘻嘻"。通过corners设置左下角和左上角的半径为5dp,右上角,右下角半径为0dp,我们就可以得到左边圆角,右边直角的边框啦。

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 3 
 4     <item>
 5         <shape android:shape="rectangle">
 6             <stroke
 7                 android:width="1.2dp"
 8                 android:color="#6f4189" />
 9 
10             <solid android:color="#6f4189" />
11             <corners
12                 android:bottomLeftRadius="5dp"
13                 android:bottomRightRadius="0dp"
14                 android:topLeftRadius="5dp"
15                 android:topRightRadius="0dp" />
16 
17             <padding
18                 android:bottom="2dp"
19                 android:left="12dp"
20                 android:right="12dp"
21                 android:top="2dp" />
22         </shape>
23     </item>
24 
25 </layer-list>

下面一样,通过corners设置右下角和右上角的半径为5dp,左上角,左下角半径为0dp,我们即可得到左边直角,右边圆角的边框。

 1 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
 2 
 3     <item>
 4         <shape>
 5             <stroke
 6                 android:width="1.2dp"
 7                 android:color="#6f4189" />
 8             <corners
 9                 android:bottomLeftRadius="0dp"
10                 android:bottomRightRadius="5dp"
11                 android:topLeftRadius="0dp"
12                 android:topRightRadius="5dp" />
13             <solid android:color="#00000000" />
14             <padding
15                 android:bottom="2dp"
16                 android:left="12dp"
17                 android:right="12dp"
18                 android:top="2dp" />
19         </shape>
20     </item>
21 
22 </layer-list>

它俩再加上viewpager就可以实现很多App上都有的左右滑动翻页效果啦。

我们再看图中的用户名和密码输入框,至于整个框框就不说啦,和上面的'嘻嘻','哈哈'一个原理,主要给大家介绍一下中间的红线。实现很简单,我们只需要设置android:shape="line",然后通过stoke的android:width设置直线的宽度,android;color设置直线的颜色即可。

1 <?xml version="1.0" encoding="utf-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3     android:shape="line">
4    <stroke
5        android:width="1.2dp"
6        android:color="#ff4323"/>
7 </shape>

让其在页面的显示代码如下

1 <LinearLayout
2             android:id="@+id/straight_line"
3             android:layout_width="fill_parent"
4             android:layout_height="2dp"
5             android:background="@drawable/line"
6             android:orientation="vertical"/>

其实设置直线还有种跟直观的方法,通过<view/>来设置,在这里就不细讲,大家可以自行百度。

接下来我们看看下面的三个登录框框,重点给大家讲讲最后面那个"断点"虚线框框。下面最后一个代码模块是"断点"虚线框框的代码,其中color是定义虚线的颜色,dashGap定义的是虚线的间隔,width定义的是虚线的大小,dashWidth定义虚线的宽度。

1 <?xml version="1.0" encoding="utf-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3     android:shape="rectangle">
4     <corners
5         android:radius="5dp"/>
6     <solid
7         android:color="#E67e22"/>
8 </shape>
1 <?xml version="1.0" encoding="utf-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3     android:shape="rectangle">
4     <corners
5         android:radius="5dp"/>
6     <stroke
7         android:color="#E67e22"
8         android:width="1.0dp"/>
9 </shape>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:shape="rectangle">
 4     <corners android:radius="5dp" />
 5     <stroke
 6         android:color="#E67e22"
 7         android:dashGap="5dp"
 8         android:width="2dp"
 9         android:dashWidth="1.0dp" />
10 </shape>

免责声明:文章转载自《android自定义圆角实线边框,圆角虚线边框,直实线,虚实线,半圆角边框》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ROI多区域选择THUSC 2017 游记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

android PopupWindow实现从底部弹出或滑出选择菜单或窗口

本实例弹出窗口主要是继承PopupWindow类来实现的弹出窗体,布局可以根据自己定义设计。弹出效果主要使用了translate和alpha样式实现,具体实习如下: 第一步:设计弹出窗口xml: Xml代码   <?xml version="1.0" encoding="utf-8"?>   <RelativeLayout   ...

Android:JNI与NDK(二)交叉编译与动态库,静态库

  欢迎关注公众号,第一时间获取最新文章:   本篇目录 一、前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识,选window系统主要是照顾大多数读者,mac ,linux操作系统基本是同样适用的。 交叉编译就是在A平台编译出可以在B平台执行的文件,对于我们安卓开发者来说交叉编译就是在window或者mac或者...

aosp 制作 rom 刷机 添加厂家二进制驱动 及 出厂镜像

首先介绍下背景知识。 aosp 仅是一套源码,不含厂家驱动。 CM安卓的厂家驱动是自行提取的。 一般的安卓手机分区,有 boot , system, user , Baseband 基带,recovery , cache 等。 GooglePixel XL 都需要哪些 驱动呢? 1, 厂家驱动二进制。 https://developers.google.c...

android界面布局

(一)LinearLayout界面编排模式 他的格式是按照线性顺序,由上往下或右左往右,逐一排列界面组件。 layout_中的“match_parent”表示要填满他所在的外框,而“wrap_content”表示它的大小只要满足内部所包含的界面组件即可。 android:orientation:“horizontal”表示排列方式为水平,而“vertica...

android之阴影效果

关于android文字阴影,共有四个属性可以设置: android:shadowColor :阴影颜色 android:shadowDx :阴影x方向位移 android:shadowDy :阴影y方向位移 android:shadowRadius :阴影的半径 注意:阴影的半径必须设,为0时没有效果。 下面为改变x位移:     android:shad...

Yosemite.apk

一般情况下,在我们用Airtest连接Android设备(真机或模拟器)的时候,Yosemite.apk 就会被自动安装到我们的设备上。当程序执行到输入语句时,也会启用 Yosemite 输入法来进入输入操作。 但很多新手同学对于这个 Yosemite.apk 还不是那么熟悉,我们官网上也没有详细的文档对它进行介绍。所以今天我们总结了6点同学们常问的、关...