自定义TextView实现设置drawable图片大小

这里写图片描述

在开发项目的过程中有到过很多难题,例如途中的左侧个人中心栏中的四个图标,该如何实现呢?

大概有两种方式解决
方法1:一个LinearLayout里面放一个ImageView和一个TextView
方法2:一个TextView然后设置drawableLeft

下面的是问题:
方法1:巨麻烦!要写三个控件,还要嵌套。要是一行多几个这样的控件,一整个页面得嵌套多少层啊?太麻烦了。。。

方法2:这个不错,直接设置drawableLeft(四个方向都行)搞定。但是,这个drawable的大小是不能够通过代码设置大小的!而且在代码里也没提供重新设置这个图片的方式,只能在xml布局文件中。是个坑!也走不通!

这次就和各位老司机分享一个最简单的自定义View,一起走向繁荣富强!

Come on baby ,按照自定义View的四大步骤走起!

自定义View的步骤:

1、自定义View的属性
2、在View的构造方法中获得我们自定义的属性
3、重写onMesure
4、重写onDraw

这次的自定义View继承于TextView,不用重新计算宽高,因为TextView 会帮我们计算,这就是继承自带控件的好处。

开始了:

 1、自定义View的属性 

按照需求,属性有:drawable,drawable宽度,drawable高度,drawable位置
在 /value/attrs.xml 中这么写:

这里写图片描述

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <declare-styleable name="MoreTextView">
        <attr name="drawable_src" format="reference"/>
        <attr name="imageHight" format="dimension"/>
        <attr name="imageWidth" format="dimension"/>
        <attr name=
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值