一、 首先要在res/values目录下建立一个attrs.xml(名字可以自己定义)的文件,并在此文件中增加对控件的属性的定义.其xml文件如下所示:

二、接下来实现自定义View的类,其中下面的构造方法是重点,在代码中获取自定义属性,其代码如下:

public class CircleImageView extends ImageView {

public CircleImageView(Context context) {

this(context, null);

}

public CircleImageView(Context context, AttributeSet attrs) {

super(context, attrs);

//取出attrs中我们为View设置的相关值

TypedArray tArray = context.obtainStyledAttributes(attrs, R.styleable.CircleImageView);

mBorderRadius = tArray.getDimensionPixelSize(R.styleable.CircleImageView_Radius, BODER_RADIUS_DEFAULT);

type = tArray.getInt(R.styleable.CircleImageView_type, TYPE_CIRCLE);

tArray.recycle();

}

}

三、接下来在XML布局中引用自定义View控件,其XML代码如下:

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="160dp"

android:layout_height="280dp"

android:layout_margin="10dp"

android:src="@mipmap/ic_bg_meizi1"

app:Radius="30dp"

app:type="round" />

android attributeset,AttributeSet 的值用法相关推荐

  1. Android Service的onStartCommand返回值用法

    2019独角兽企业重金招聘Python工程师标准>>> Android Service的onStartCommand返回值用法 本文目的:使读者快速理解 1.START_STICKY ...

  2. android attributeset 工具类,Android使用AttributeSet自定义控件的方法

    释放双眼,带上耳机,听听看~! 所谓自定义控件(或称组件)也就是编写自己的控件类型,而非Android中提供的标准的控件,如TextView,CheckBox等等.不过自定义的控件一般也都是从标准控件 ...

  3. NoSuchMethodException: init [class android.content.Context, interface android.util.AttributeSet...

    学自定义View嘛,刚刚少些个重载构造函数,结果... 07-30 03:05:30.862 6924-6924/com.example.canvastest E/AndroidRuntime: FA ...

  4. Android开发--SurfaceView的基本用法

    在Android中可以利用View来绘制一些图形,图片,但当我们开发游戏或视频时,View就不再适用,这时必须使用SurfaceView来代替View.SurfaceView相比View可以实现多线程 ...

  5. Android Drawable 那些不为人知的高效用法

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/43752383,本文出自: [张鸿洋的博客] 1.概述 Drawable在我们平 ...

  6. Android RangeSeekBarView 选定范围值的控件

    自定义实现了一个选定范围值的控件,刻度尺为等分的100等分.模仿二手车app中筛选选定区间的控件. 实现效果: 首先将这个控件分成四部分,位置标记,刻度,尺子,游标. 一,测量子控件的尺度,继承onM ...

  7. android contextmenu 自定义,ContextMenu高级用法

    51CT0不支持MarkDown,原文请至:简书 关键字: ContextMenu ##背景 我们经常在列表的页面中,点击列表中的行,一般进入详情页面,长按列表中一行,会弹出一个菜单,包含了对某一行的 ...

  8. android服务绑定异步,Android中异步类AsyncTask用法总结

    本文总结分析了Android中异步类AsyncTask用法.分享给大家供大家参考,具体如下: 最近整理笔记的时候,看到有关AsyncTask不是很理解,重新疏导了一下,有在网上找了一些资料,个人不敢独 ...

  9. 【Android】补间动画用法最全详解

    本文目录 补间动画概述和分类 各类补间动画实现 xml实现补间动画 透明度动画-AlphaAnimation 缩放动画-ScaleAnimation 位移动画-TranslateAnimation 旋 ...

  10. Android 自定义View 之 RectF用法详解

    在之前通过Circle画了一个奥运五环,这次通过RectF来画矩形,常规的就是长方形正方形之类的. 还是新建一个自定义View,CustomViewRectF,然后继承View,实现里面的两个基本的构 ...

最新文章

  1. 华人团队用Transformer做风格迁移,速度快、可试玩,网友却不买账
  2. Pandownload惊喜复活!下载速度惊人!
  3. UIUC教授季姮:叫我带头人,而不是女性带头人(附视频)
  4. Install zabbix 2.2 + PostgreSQL + nginx + php on CentOS 6.x x64
  5. android json解析及简单例子
  6. 解决微信小程序新建项目没有样式问题,以及官方demo
  7. CSS中z-index
  8. PostgreSQL 12系统表(1)pg_class
  9. 使用Name Mangler快速为批量文件重命名
  10. MacOS ClashX 配置代理端口为0问题7890 配置iterm2终端代理
  11. [生活] 2015年终总结,2016开篇计划
  12. LATEX采坑+Win10字体采坑
  13. Mac字体安装的方法?Mac怎么安装新字体?Mac字体安装教程
  14. AI智能语音客服机器人系统/方案/案列/技术/项目
  15. 微盟致远OA聚水潭YonSuite系统对接集成整体解决方案
  16. 1人30天44587行代码,分享舍得网开发经验(修改版)
  17. php转jsp,阿里西西Html多功能代码转换器(html转js/jsp/php工具)
  18. 读懂SIEM建设?看这篇就够了!
  19. 东大18秋计算机网络在线作业1答案,东大18秋学期《计算机辅助数控编程》在线作业1辅导资料...
  20. 罗德里格斯旋转公式(Rodrigues‘ rotation formula)推导

热门文章

  1. Spring Boot 格式化接口返回JSON中的日期/日期时间(LocalDate/LocalDateTime)
  2. iOS NSString使用stringWithFormat的拼接
  3. 六一祝福:愿你能做自己喜欢的热爱的
  4. 影响光伏并网逆变器质量的因素有哪些?
  5. 使用StretchBlt函数进行图像缩放
  6. Javascript基础知识之三(常用对象方法)
  7. 计算机教师面试1分钟自我介绍视频,音乐教师面试1分钟自我介绍4篇
  8. 高可用性架构:云计算和高可用性
  9. 市面上跑步耳机哪种好、2023年最适合跑步用的耳机排名
  10. Word处理代码文本之删除注释与空行