Advertisement

Android文本排版开发

阅读量:

在项目开发过程中,需要完成一项具体功能,即对多行文本进行排版设计。每行文本由两个部分组成,左侧为标题内容,右侧为描述信息。由于左侧文本长度不固定,因此要求右侧描述内容保持对齐状态,即使出现换行情况,也需确保右侧文本的对齐效果。

效果图

以下为效果图的展示图示:

这里写图片描述

从整体布局来看,内容被划分为两个区域,左侧部分在色彩表现上与右侧存在差异,而右侧的文字说明则实现了统一的排版对齐。

实现方案

鉴于输入内容的行数存在不确定性,且左侧文本长度亦无法预知,因此无法在布局中直接完成上述功能。基于这一情况,本文重点实现了以下六种实现方式。

方案1

通过自定义组件的形式,对TextView进行继承,并对onDraw函数进行重写,从而达成以下实现:

复制代码
    /** * 计算出左边最长的显示字符串maxLeftWidth,之后draw每一行字符,右边的描述从maxLeftWidth开始draw
     * 当一行显示不完全时,折行并且空出maxLeftWidth的空格长度
     */
    public class TypographyView1

全部评论 (0)

还没有任何评论哟~