自定义控件 : Textview drawable跟随文字居中

你是否遇到这种情况,在TextView宽度或高度过大时,drawable在textveiw所在区域的边缘,但是我们想要的是图片跟随文字居中.

比如我们想要以下效果:


WechatIMG2.jpeg

我以前也是遇到过几次,都是偷懒用ImageView代替了。

这次项目中用的地方比较多,果断封装个控件。

效果图:
github : https://github.com/niniloveyou/DrawableTextView

drawableTextView.jpeg

如何使用:

添加这两个文件
deadline/DrawableTextView.java
res/values/attrs.xml

代码中这样设置即可

Drawable drawable = ContextCompat.getDrawable(getContext(),R.mipmap.xx);
setDrawable(DrawableTextView.LEFT, drawable, width, height);

xml中定义了以下属性

<deadline.DrawableTextView
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"

            android:drawablePadding="5dp"

            app:bottomDrawable="@mipmap/camera"
            app:bottomDrawableHeight="20dp"
            app:bottomDrawableWidth="20dp"

            app:leftDrawable="@mipmap/camera"
            app:leftDrawableHeight="20dp"
            app:leftDrawableWidth="20dp"

            app:rightDrawable="@mipmap/camera"
            app:rightDrawableHeight="20dp"
            app:rightDrawableWidth="20dp"

            app:topDrawable="@mipmap/camera"
            app:topDrawableHeight="20dp"
            app:topDrawableWidth="20dp"/>

github : https://github.com/niniloveyou/DrawableTextView
用的到,Star点下,谢谢!

可能会有的问题:

由于是对画布的位移实现的,导致foreground可能会显示不正确,
目前还没有想到怎么处理,如果有任何建议,请直接在github上提issue.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,629评论 2 45
  • 说服别人的一个最好方法是用你的耳朵,听听他们在讲什么 在描述观察到的情况时,我们必须做到冷静客观,如果我们紧张不安...
    07120665a058阅读 1,489评论 0 0
  • hey~ 宝宝,最好别和我说坚持不住啥的,我意志不太坚定一人,你一说,我也动摇了…… 撑住撑住! 原来《七步诗》也...
    暴躁空想家阅读 375评论 0 0