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

先上图

在现实项目开发中,单纯的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:边框颜色,width:边框宽度,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>
时间: 2024-12-29 11:45:49

android自定义圆角实线边框,圆角虚线边框,直实线,虚实线,半圆角边框的相关文章

android自定义listview实现圆角

在项目中我们会经常遇到这种圆角效果,因为直角的看起来确实不那么雅观,可能大家会想到用图片实现,试想上中下要分别做三张图片,这样既会是自己的项目增大也会增加内存使用量,所以使用shape来实现不失为一种更好的实现方式.在这里先看一下shape的使用: [html] view plaincopy <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schema

Android 自定义UI圆角按钮

Android实际开发中我们一般需要圆角的按钮,一般情况下我们可以让美工做出来相应的按钮图片,然后放上去即可,另外我们可以在布局文件中直接设置,也可以达到一样的效果.下面讲解在布局文件中自定义圆角按钮的小Demo. 代码很简单,实现效果图: 源代码: 源代码: 这里主要是xml布局文件实现: MainActivity: package com.android_drawableresource; import android.app.Activity; import android.os.Bund

Android 自定义ImageView实现圆角/圆形 附加OnTouchListener详细注释以及Button圆角

转载请注明出处:王亟亟的大牛之路 平时要用一些非方方正正的按钮之类的小伙伴们是如何实现的?RadioButton?ImageButton?还是其他? 今天亟亟上的是ImageView来实现的 先上下效果图(目录结构) 分析: shape.xml用于Button的"倒角"(做过机械类的都懂,哈哈) attr.xml用于自定义ImageView的标签的定义 ids.xml用于控件findbyid用,为什么补+id 等会我会来解释 效果图: 分析:一个Button 2个自定义ImageVie

Android自定义圆角ImageView

我们经常看到一些app中可以显示圆角图片,比如qq的联系人图标等等,实现圆角图片一种办法是直接使用圆角图片资源,当然如果没有圆角图片资源,我们也可以自己通过程序实现的,下面介绍一个自定义圆角ImageView的方法: package com.yulongfei.imageview; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; impor

DIV+CSS虚线边框|CSS虚线下划线及虚线列表教程

DIV CSS虚线教程篇包括讲解常常出现的各种样式的DIV虚线案例CSS教程. 本节为大家介绍常见的CSS 虚线及DIV教程.CSS虚线下划线.列表虚线统统搞定. 目录 CSS虚线边框 CSS超链接虚线下划线 列表型CSS虚线下划线 CSS定义一条水平虚线 1.CSS边框虚线   -   TOP 这里通过边框属性的虚线边框border控制虚线.以下设置的css 高度(css height)和css 宽度(css width)为350像素是为了便于观看演示 其它意思.一.四边为虚线边框border

Android自定义Shape的属性

Android xml资源文件中Shape的属性: solid 描述:内部填充 属性:android:color 填充颜色 size 描述:大小 属性: android:width 宽 android:height 高 gradient 描述:渐变色 属性: android:startColor渐变起始颜色 android:endColor渐变结束颜色 android:centerColor渐变中间颜色 android:angle 渐变的角度,angle=0时,渐变色是从左向右,然后逆时针方向转

(转)[原] Android 自定义View 密码框 例子

遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 样子 支持的样式 可以通过XML定义影响外边和行为的属性如下 边框圆角值,边框颜色,分割线颜色,边框宽度,密码长度,密码大小,密码颜色 <declare-styleable name="PasswordInputView"> <attr name="border

[原] Android 自定义View 密码框 例子

遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 样子 支持的样式 可以通过XML定义影响外边和行为的属性如下 边框圆角值,边框颜色,分割线颜色,边框宽度,密码长度,密码大小,密码颜色 <declare-styleable name="PasswordInputView"> <attr name="border

Android自定义评分控件:RatingStarView

RatingStarView Android自定义的评分控件,类似RatingBar那样的,使用星星图标(full.half.empty)作为rating值的“评分/打分控件”. 效果图 图1:RatingStarView控件支持的特性: 半颗星支持(实际支持任意小数) 填充色.底色.描边色 指定高度,宽度自适应 拐角弧度.描边宽度.星星间距 肥胖指数(star thickness),越胖越可爱 点击评分(不支持半颗星) 实现思路 下面是RatingStarView的实现设计. 如何画一颗星 S

Android自定义View(1):对话框-Dialog

Android系统自带的对话框,在很多android 5.0以下系统的手机上,简直目不忍视,所以UI设计基本上都需要自定义对话框,漂亮的对话框五花八门,android如何设计一种简单的自定义对话框呢. 一,Dialog需要注意的问题 android 弹出dialog必须存在所属的activity,不能凭空产生,所以dialog不能在application类里面new,必须在activity onCreate之后new. 1,默认的dialog public Dialog(Context cont