android顶部居中,如何将drawableLeft对齐到顶部,而不是在android TextView中居中?
见
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中居中?相关推荐
- android中文本框的居中,android – 以编程方式在TextView中居中文本
我以编程方式创建了一个TextView,文本和背景可绘制.我想将文本居中在TextView中,但文本居于顶部. 这是我在TextView中居中文本的代码: protected class TileVi ...
- Word 2016 撰写论文(1): 公式居中、编号右对齐
目录 方法1:表格法 方法2:制表位法 新建"样式"批量设置 参考资料 写论文时,要求公式居中,编号右对齐.刚开始碰到这种问题,很麻烦,网上看了好多方法,目前,两种方法比较实用.第 ...
- Word 2016 撰写论文: 公式居中、编号右对齐
目录 方法1:表格法 方法2:制表位法 新建"样式"批量设置 参考资料 写论文时,要求公式居中,编号右对齐.刚开始碰到这种问题,很麻烦,网上看了好多方法,目前,两种方法比较实用.第 ...
- Android中设置字体居中,【Android】TextView中不同大小字体如何上下垂直居中?
前言 在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗.改变颜色.加链接.下划线等.iOS为我们提供了AttributedString,而Android则提供 ...
- Android Textview 一行居中 两行居左
需求描述: 采用鸿洋大神打造的万能的ListView GridView适配器: ListView中的item中有一个TextView,该TextView的宽度确定,根据要显示的内容长度动态调整文字的显 ...
- Java安卓文字居中_设置TextView文字居中,代码实现android:layout_gravity
设置TextView文字居中 android:gravity指的是控件的位置 而android:layout_gravity指的是这个layout的,是外面的 有2种方法可以设置TextView文字居 ...
- 论文公式编号右对齐_公式对齐(二):公式居中,编号右对齐(MathType 6.9)
"公式居中,编号右对齐"的对齐方式适用于较大多数场合,比如,学位论文.国内外期刊论文等. 1.最想分享的还是"MathType 6.9"软件的自动编号功能,不过 ...
- android textview动态居中,android 设置textview文字居中或者控件居中
有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:txtTitle.setGravity(Gr ...
- android让字体左右对齐,Android 模仿微信读书文字左右对齐效果
原标题:Android 模仿微信读书文字左右对齐效果 本文作者 作者:Amter https://www.jianshu.com/p/020786e22a6f 左右对齐的文字效果,很常见,在大多数文章 ...
最新文章
- 现学现卖微信小程序开发(二)
- MATLAB学习笔记(二)
- 2021年最值得期待的数据智能赛事之一,有何解题妙招?
- 初学Hibernate
- CS190.1x Scalable Machine Learning
- 【JVM】javap命令行分析揭示boolean的本质的虚拟机指令
- android 内容提供其,Android内容提供者
- 联想 K5 Pro(L38041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.188
- 多种方法让网络共享资源自动映射
- 【作业报告】作业5 四则运算 测试与封装 5.1
- 生命密码是几适合学计算机,数字生命密码是什么?
- 新版标准日本语高级_第7课
- Linux查看软件安装和系统信息操作
- Java-11-访问字符串中字符与字符串长度
- 源码网站合集[细选过的][转贴]
- Android面试攻略
- 戴尔T640服务器使用nvidia显卡风扇转速百分之百解决方案
- csdn怎么让代码变得好看_是什么让游戏变得更好
- 想高质量交付,需要先回答这三个问题
- Nginx防止恶意域名解析