我有一个 TextView 的布局/对齐问题,我还没有找到解决方案,也就是说,我想在 TextView 内水平对齐文本偏离中心。
为了提供更多上下文,我有一个并排的 ImageView 和一个 TextView,ImageView 触摸屏幕的左边缘,而 TextView 水平填充屏幕的其余部分,如下所示:
[-img-|-----text-----]
TextView 配置为 singleLine="true" 和 maxLines="1",因此如果它的水平空间太长,它将被截断。我的目标是对齐屏幕中心的文本,而不是 TextView 的中心,因为屏幕上还有其他元素对齐到中心,我需要文本对齐来匹配它。
所以,如果我在 TextView 上使用gravity="center",我会得到上面的图像,但我真正想要的是
[-img-|--text--------]
我尝试将图像和文本放在RelativeLayout中,以便TextView实际上触及屏幕的两个边缘,这在对齐方面做了我想要的,除了如果文本足够长,第一个字符将被隐藏图像,因为 TextView 位于图像视图的后面。
我还尝试了边距、填充和可向左绘制的复合,但文本始终相对于可用空间居中(我认为这是预期的行为)。
是否有人对如何实现这种对齐有任何线索,即相对于与 TextView 不同的组件的中心,可能在运行时以编程方式?提前感谢您提供任何有用的建议。
编辑:用户 Budius 建议使用向右填充来实现居中对齐,该对齐有效但会导致长文本在到达 TextView 的右边缘之前被截断,我正在寻找一种避免这种情况的解决方案,即使用整个可用空间,如果可能的话。