my answer here。

您可以通过创建包装您的Drawable的自定义Drawable,然后通过覆盖方法onDraw(Canvas)来操作您的自定义Drawable的绘图来将一个复合Drawable(或底部)对齐。

以下示例是最简单的示例。这将图像与顶部对齐,但您也可以通过在onDraw(Canvas)方法中实现所需的逻辑使其与TextView的底部,左侧或右侧对齐。您可能还需要在onDraw(Canvas)中构建边距,使您的设计实现像素完美。

样品用量:

GravityCompoundDrawable gravityDrawable = new GravityCompoundDrawable(innerDrawable);

// NOTE: next 2 lines are important!

innerDrawable.setBounds(0, 0, innerDrawable.getIntrinsicWidth(), innerDrawable.getIntrinsicHeight());

gravityDrawable.setBounds(0, 0, innerDrawable.getIntrinsicWidth(), innerDrawable.getIntrinsicHeight());

mTextView.setCompoundDrawables(gravityDrawable, null, null, null);

示例代码:

public class GravityCompoundDrawable extends Drawable {

// inner Drawable

private final Drawable mDrawable;

public GravityCompoundDrawable(Drawable drawable) {

mDrawable = drawable;

}

@Override

public int getIntrinsicWidth() {

return mDrawable.getIntrinsicWidth();

}

@Override

public int getIntrinsicHeight() {

return mDrawable.getIntrinsicHeight();

}

@Override

public void draw(Canvas canvas) {

int halfCanvas= canvas.getHeight() / 2;

int halfDrawable = mDrawable.getIntrinsicHeight() / 2;

// align to top

canvas.save();

canvas.translate(0, -halfCanvas + halfDrawable);

mDrawable.draw(canvas);

canvas.restore();

}

}

android顶部居中,如何将drawableLeft对齐到顶部,而不是在android TextView中居中?相关推荐

  1. android中文本框的居中,android – 以编程方式在TextView中居中文本

    我以编程方式创建了一个TextView,文本和背景可绘制.我想将文本居中在TextView中,但文本居于顶部. 这是我在TextView中居中文本的代码: protected class TileVi ...

  2. Word 2016 撰写论文(1): 公式居中、编号右对齐

    目录 方法1:表格法 方法2:制表位法 新建"样式"批量设置 参考资料 写论文时,要求公式居中,编号右对齐.刚开始碰到这种问题,很麻烦,网上看了好多方法,目前,两种方法比较实用.第 ...

  3. Word 2016 撰写论文: 公式居中、编号右对齐

    目录 方法1:表格法 方法2:制表位法 新建"样式"批量设置 参考资料 写论文时,要求公式居中,编号右对齐.刚开始碰到这种问题,很麻烦,网上看了好多方法,目前,两种方法比较实用.第 ...

  4. Android中设置字体居中,【Android】TextView中不同大小字体如何上下垂直居中?

    前言 在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗.改变颜色.加链接.下划线等.iOS为我们提供了AttributedString,而Android则提供 ...

  5. Android Textview 一行居中 两行居左

    需求描述: 采用鸿洋大神打造的万能的ListView GridView适配器: ListView中的item中有一个TextView,该TextView的宽度确定,根据要显示的内容长度动态调整文字的显 ...

  6. Java安卓文字居中_设置TextView文字居中,代码实现android:layout_gravity

    设置TextView文字居中 android:gravity指的是控件的位置 而android:layout_gravity指的是这个layout的,是外面的 有2种方法可以设置TextView文字居 ...

  7. 论文公式编号右对齐_公式对齐(二):公式居中,编号右对齐(MathType 6.9)

    "公式居中,编号右对齐"的对齐方式适用于较大多数场合,比如,学位论文.国内外期刊论文等. 1.最想分享的还是"MathType 6.9"软件的自动编号功能,不过 ...

  8. android textview动态居中,android 设置textview文字居中或者控件居中

    有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:txtTitle.setGravity(Gr ...

  9. android让字体左右对齐,Android 模仿微信读书文字左右对齐效果

    原标题:Android 模仿微信读书文字左右对齐效果 本文作者 作者:Amter https://www.jianshu.com/p/020786e22a6f 左右对齐的文字效果,很常见,在大多数文章 ...

最新文章

  1. 现学现卖微信小程序开发(二)
  2. MATLAB学习笔记(二)
  3. 2021年最值得期待的数据智能赛事之一,有何解题妙招?
  4. 初学Hibernate
  5. CS190.1x Scalable Machine Learning
  6. 【JVM】javap命令行分析揭示boolean的本质的虚拟机指令
  7. android 内容提供其,Android内容提供者
  8. 联想 K5 Pro(L38041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.188
  9. 多种方法让网络共享资源自动映射
  10. 【作业报告】作业5 四则运算 测试与封装 5.1
  11. 生命密码是几适合学计算机,数字生命密码是什么?
  12. 新版标准日本语高级_第7课
  13. Linux查看软件安装和系统信息操作
  14. Java-11-访问字符串中字符与字符串长度
  15. 源码网站合集[细选过的][转贴]
  16. Android面试攻略
  17. 戴尔T640服务器使用nvidia显卡风扇转速百分之百解决方案
  18. csdn怎么让代码变得好看_是什么让游戏变得更好
  19. 想高质量交付,需要先回答这三个问题
  20. Nginx防止恶意域名解析

热门文章

  1. ❤️《大前端—NPM包管理器》
  2. 微信小程序API之showModal(Loding...)
  3. MySQL基本介绍(一)
  4. pop错误 找不到服务器,POP3 连接事务失败 - 找不到客户端访问服务器
  5. 教老年人计算机心得体会,老年人教育工作心得体会
  6. 爬虫数据库一些简单的设计逻辑
  7. Markdown的常用使用语法
  8. 8月7日科技联播:人民日报发推欢迎Google回归,李彦宏回应非常有信心再赢一次...
  9. tomcat源码分析--初始化与启动
  10. 逻辑门的Verilog实现与仿真