android - 在textview右上角画一个drawable怎么画

查看:73
本文介绍了android - 在textview右上角画一个drawable怎么画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

不显示图标,有没有其他方法

  public TextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
if (editDrawable == null) {
            editDrawable = getContext().getResources().getDrawable(R.drawable.draw_edit);
            editDrawable = zoomDrawable(editDrawable, drawableWidth, drawableWidth);
        }

        mDrawableWidth = editDrawable.getIntrinsicWidth();
        mDrawableHeight = editDrawable.getIntrinsicHeight();

        Point rt = new Point(getWidth(), getHeight());
        mEditPoint = rt;
        }

 @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        editDrawable.setBounds(mEditPoint.x - mDrawableWidth / 2,
                mEditPoint.y - mDrawableHeight / 2, mEditPoint.x + mDrawableWidth
                        / 2, mEditPoint.y + mDrawableHeight / 2);
        editDrawable.draw(canvas);
        LogUtils.d(mEditPoint.toString() + mDrawableWidth + "-" + mDrawableHeight);
    }

解决方案

建议你考虑一下继承相对布局写一个自定义组合控件,你修改TextView的这种方式是能做到的,但是这么写需要考虑到很多东西(paddingmargin,控件大小等等),而且更重要的是不太方便修改。
如果使用相对布局或是帧布局的话,这个需求就好实现多了,下一层在右上角放上图,然后TextView填充整个布局。比继承TextView简单多了。

这篇关于android - 在textview右上角画一个drawable怎么画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆