首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

表行中TextView的第二行没有真正的文本对齐,但第一行可以

问题描述:表行中TextView的第二行没有真正的文本对齐,但第一行可以。

解决方案: 这个问题可能是由于TextView的布局设置不正确导致的。要解决这个问题,可以尝试以下几种方法:

  1. 使用LinearLayout布局:将TextView放在一个垂直的LinearLayout中,设置LinearLayout的gravity属性为center_vertical,这样可以保证文本在垂直方向上居中对齐。
代码语言:txt
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第一行文本" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第二行文本" />

</LinearLayout>
  1. 使用ConstraintLayout布局:将TextView放在一个ConstraintLayout中,设置第一行文本的baseline对齐约束为parent的top,设置第二行文本的baseline对齐约束为第一行文本的bottom,这样可以保证文本在垂直方向上居中对齐。
代码语言:txt
复制
<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/firstLineTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第一行文本"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第二行文本"
        app:layout_constraintTop_toBottomOf="@id/firstLineTextView"
        app:layout_constraintBaseline_toBaselineOf="@id/firstLineTextView" />

</androidx.constraintlayout.widget.ConstraintLayout>

以上是两种常见的解决方案,根据具体情况选择适合的布局方式。如果还有其他问题或需要更详细的解答,请提供更多的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《Kotlin从零到精通Android开发》资源下载和内容勘误

源码与各章对应关系见下图: ?...9、第126页“6.3.1  文本视图TextView” 最后一段第一对齐方式或操作外”改为“对齐方式按位或操作符”,也就是增加了“按位”,并且把“外”换成“符”。...10、第129页“6.3.3  文本编辑框EditText” 第一第四,“编辑观察器EditWatcher”改为“文本观察器TextWatcher”,第二段里面的“编辑观察器”以及第130页第一...18、第277页“9.4.2  绑定方式启动服务” 第一段第三“表示解除绑定并停止服务(如果原来没有启动)”改为“表示解除绑定并停止服务(如果原来有启动)”,也就是把括号里面的“没有”改成“有”。...21、第329页“10.5.1  需求描述” 该小节第一段第六“App自动进行升级判断则后台服务并没有对应界面”改为“App自动进行升级判断后台服务并没有对应界面”,也就是把中间“则”改为

1.4K20
  • Android TextView 缩进指定距离

    这个方案需要解决问题是,这里是否有相关 Api 可以直接设置每行留白距离,另外首标签和文字居中对齐问题,毕竟设计师都是像素眼,没有按要求对齐,行距不对都可能无法验收。...第二种方案就是取巧,将 title TextView 拆分为两个 TextView第一直接就是线性水平布局,第二再是一个独立TextView。...这里需要解决问题是,我怎么获取 TextView 第一显示文字,然后截取剩余文字单独显示在第二。...这种方法实现似乎没有第一种优雅,但是可以轻松避开第一标签和 title 文字居中对齐问题。 在否定一种方案和提出新两种方案后,可以看看后两种方案到底可以怎么实现。...就可以判断下,如果和总长度相等,那就说明第一可以显示完全,第二根据具体情况,控制显示与否。

    71330

    Android TextView 缩进指定距离

    这个方案需要解决问题是,这里是否有相关 Api 可以直接设置每行留白距离,另外首标签和文字居中对齐问题,毕竟设计师都是像素眼,没有按要求对齐,行距不对都可能无法验收。...第二种方案就是取巧,将 title TextView 拆分为两个 TextView第一直接就是线性水平布局,第二再是一个独立TextView。...这里需要解决问题是,我怎么获取 TextView 第一显示文字,然后截取剩余文字单独显示在第二。...这种方法实现似乎没有第一种优雅,但是可以轻松避开第一标签和 title 文字居中对齐问题。 在否定一种方案和提出新两种方案后,可以看看后两种方案到底可以怎么实现。...就可以判断下,如果和总长度相等,那就说明第一可以显示完全,第二根据具体情况,控制显示与否。

    1.8K30

    Android精通:布局篇

    在TableLayout可以通过setConlumnShrinkable()或setConlumnStretchable()方法来指定某些列为可以缩小或可伸缩,列是从0开始计数第一列为0。...shrinkColumns为设置被收缩序号,收缩是用于在一列太多或者某列内容文本过长,会导致某列内容会被挤出屏幕,这个属性是可以帮助某列内容进行收缩,用于防止被挤出。...GridLayout网格布局 GridLayout网格布局是在Android 4.0以后引入一种新布局模式,和表格布局是有点类似的,比表格布局好,功能也是很强大,它可以设置布局有多少和有多少列...,也可以设置布局组件排列方式,也可以设置组件位置,横跨多少,多少列。...为与某控件右边缘对齐,以id为标记 android:layout_alignBaseline 为与某控件文本内容在一条直线上 android:layout_alignParentBottom 为在父容器最下

    2K40

    微信“ 15。。。。。。。。。”来龙去脉

    又一个问题 那么,iOS排版是否就是完美的呢,其实仔细观察并非这样,从上图可以看出,除了Android,iOS也会有这种问题,那就是气泡文字左右参差不齐。...对于文字排版,这容易让人想起,“我(word)哥”,微软对于这款应用,有没有一些文字左右对齐手段或者方案可以参考呢?...系统TextView没有暴露接口去代理它们。当然没有接口不意味着做不到,我们完全可以通过反射等手段代理它,其实这么做的话,代价是比较大。...效果如下图: 对比优化前效果,确实这么做效果是明显仔细观察,还是会发现,对于一些特殊中文全角符号(如,《》()【】等)因为有多余padding存在,放在行首和末也会导致参差不齐效果。...于是我们多增加了一条规则 4、对一些常见有多余padding全角符号位于首或末时,默认减去多余padding来达到更好对齐效果。

    3.5K40

    Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

    在TableLayout可以通过setConlumnShrinkable()或setConlumnStretchable()方法来指定某些列为可以缩小或可伸缩,列是从0开始计数第一列为0。...shrinkColumns为设置被收缩序号,收缩是用于在一列太多或者某列内容文本过长,会导致某列内容会被挤出屏幕,这个属性是可以帮助某列内容进行收缩,用于防止被挤出。...GridLayout网格布局 GridLayout网格布局是在Android 4.0以后引入一种新布局模式,和表格布局是有点类似的,比表格布局好,功能也是很强大,它可以设置布局有多少和有多少列...,也可以设置布局组件排列方式,也可以设置组件位置,横跨多少,多少列。...:layout_alignRight为与某控件右边缘对齐,以id为标记 android:layout_alignBaseline 为与某控件文本内容在一条直线上 android:layout_alignParentBottom

    4K20

    Android TextView实现查看全部和收起功能

    实现上述步骤难点在于: 如何在setText()之前判断处理文字是否超过了最大限制行数 如何获取超过限制行数最后一个文字下标 解决以上两个问题需要用到一个处理TextView文本排版,拆处理工具类...对齐方式 TextDirectionHeuristic textDir 文本显示方向 float spacingmult 行间距倍数,默认是1 float spacingadd 行距增加值,默认是0...如果需要详细了解StaticLayout工作原理,可参考StaticLayout 源码分析 然后我们可以通过调用getLineCount()方法获取到布局该文本行数,调用getLineStart(int...line)方法可以获取line下一第一个文字下标。...高度,以此让textview是一展示 contentView.getLayoutParams().height = elipseHeight;

    4.5K82

    android布局属性具体解释

    2: RelativeLayout ( 相对布局 ) : (里面能够放多个控件,可是一仅仅能放一个控件) 第一类 : 属性值为 true 或 false android:layout_centerHorizontal...:layout_alignBottom 本元素下边缘和某元素下边缘对齐 android:layout_alignRight 本元素右边缘和某元素右边缘对齐 第三类:属性值为详细像素值,如...table) 这个表格布局不像HTML表格那样灵活,仅仅能通过 TableRow 属性来控制它而列的话里面有几个控件就是几列(普通情况)。.../*创建列对象*/   TableRow tableRow = new TableRow(this);   /*文本框对象*/   TextView temp = new TextView(this);...  temp.setText(“text值”);   /*将此文本加入到列*/   tableRow.addView(temp);   android:stretchColumns=”1,2,3,4

    84720

    Draw Text in Deep

    Android系统提供了Textview来提供文字显示,很多时候开发者还需要使用Canvas来绘制Text,这时候,canvas.drawText()就不像Textview使用这么简单了,需要掌握文字测量以及渲染流程...来设置,在Paint自定义绘制Text可以使用Paint.fontMetricsleading属性设置 高 即字符所在行高度 = ascent + descent + leading,即字符高度...如果在TextView可以直接通过getLineHeight()方法获取。...字符间距(kerning) 对于textView和Paint绘制Text,可以分别使用各自类getLetterSpacing()和setLetterSpacing()方法获取和设置字符间距,对于TextView...当你使用drawText一绘制文字时候,可以在换行时候获取下一baseline坐标。

    1.4K30

    Android布局详解

    坐标 ) horizontal 水平方向(沿着 x 坐标) 线性布局可以使用 android:layout_weight 属性设置权重,可以将 LinearLayout 剩下部分进行比例划分 LinearLayout...=”1″ /> LinearLayout 中使用 android:gravity 可以调整孩子对齐方式,但是要注意方向,垂直 ( 如果高不定 ) ,可以调整孩子在 left\centerhorizontal...列数由TableRow子控件决定, 直接在TableLayout添加子控件会占据整个一。...TableLayout常用属性: android:shrinkColumns:设置可收缩列,内容过多就收缩显示到第二 android:stretchColumns:设置可伸展列,将空白区域填充满整个列...TableLayout(表格布局)其实有点大同小异; 不过新增了一些东西 1、跟LinearLayout(线性布局)一样,他可以设置容器组件对齐方式 2、容器组件可以跨多行也可以跨多列(相比TableLayout

    1.5K20

    Android P 文本特性

    为了测量及布局给定文本TextView 必须做很多工作,例如读取字体文件、查找字形、决定形状、测量边界框以及将文本缓存在内部文本缓存。...然后 可以TextView 设置 PrecomputedText.create(CharSequence, params) 结果。这样,只有大约10%工作留给 TextView 执行。 ?...高及基线文本对齐 有时设计者提供给开发者布局参数与现有的 TextView 属性不完全匹配。...设置基线文本对齐 为控制首及末行基线与视图边界之间间距,我们增加了两个新属性: firstBaselineToTopHeight 与 lastBaselineToBottomHeight。...firstBaselineToTopHeight: 设置 TextView 上边界及 TextView 基线之间间距。该属性实际上更改是顶部边距。

    1.5K20

    真·富文本编辑器演进之路-Span开胃菜

    val paragraphFirst = "这是第一段。这是第一段。这是第一段。这是第一段。这是第一段。\n" val paragraphSecond = "这是第二段。这是第二段。这是第二段。...ImageSpan是富文本核心成员,通过ImageSpan,理论上可以实现各种富文本效果,虽然有些场景效果差强人意,足以体现出它强大,所以,掌握ImageSpan,是掌握富文本重中之重。...这种方式在ImageSpan尺寸不是很大时候,是可以,其原理就是对ImageSpan进行偏移,但是文字高是没有发生改变,也就是像图中这样,多行文本高并未发生改变,但是ImageSpan实现居中效果...第二种方式,就是将文本高属性做修改,也就是让ImageSpan尺寸小于高,动态将原本文字高,改为ImageSpan尺寸,甚至更大一点,这样ImageSpan自然就可以居中了。 ?...用这种方式处理后,文字和ImageSpan会在新参数整体居中,这种效果应该是比较具有拓展性,不像第一种会在ImageSpan过大时候,遮挡下一文字。

    2.5K20
    领券