将 TextView 设置为 LinearLayout 的右侧(垂直)
Posted
技术标签:
【中文标题】将 TextView 设置为 LinearLayout 的右侧(垂直)【英文标题】:Set TextView To Right Of LinearLayout(Vertical) 【发布时间】:2017-07-28 11:34:24 【问题描述】:我一直在谷歌上搜索这个答案。我一直在尝试将 TextView 设置为与垂直 LinearLayout 的右侧对齐。但是,设置参数并使用它...
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
不起作用。我几乎可以肯定这是因为我已将宽度设置为 WRAP_CONTENT。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
问题是,如果我将宽度设置为 MATCH_PARENT,那么(如预期的那样)TextView 的背景颜色会填满屏幕的整个宽度。我不想将文本的重心设置在右侧。我试图让整个 TextView 与 LinearLayout 的右侧对齐,同时保持宽度等于其中文本的大小。
谁能帮忙???
【问题讨论】:
垂直线性布局在哪里。 ? 请显示创建布局的 XML 或 Java 代码。 【参考方案1】:RelativeLayout.ALIGN_PARENT_RIGHT
不起作用,因为它是 RelativeLayout
的规则,而不是 LinearLayout
的规则
假设您的 LinearLayout 设置为 match_parent
,那么您应该应用重力。只需将以下内容添加到 TextView
android:layout_gravity="end"
在 TextView 上调整布局参数的等效程序:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.END; //despite the confusing name, this is on Layout params and this is layout_gravity
params.weight = 1.0f;
textView.setLayoutParams(params);
注意:布局重力和视图重力是不同的 - 布局重力设置视图在其布局中的位置,而重力设置视图内内容的重力
【讨论】:
太好了,很高兴它有帮助。非常感谢您,但是,由于您是新用户,因此我只想说,当您想感谢 SO 上的某个人时,您打算通过投票和/或接受他们的回答来表明这一点 试图投票,但由于我的声誉我不能,但只是注意到我可以接受你说的答案!非常感谢!以上是关于将 TextView 设置为 LinearLayout 的右侧(垂直)的主要内容,如果未能解决你的问题,请参考以下文章
将 textView 高度设置为等于 contentSize swift
将 TextView 设置为 LinearLayout 的右侧(垂直)
如何将 BackgroundWorker 的结果设置为 TextView