将TextView设置在Linearlayout(垂直)的右侧



我一直在Google上搜索此答案。我一直在尝试设置一个文本视图,以与垂直线胶的右侧保持一致。但是,设置参数并使用此...

params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

不起作用。我几乎可以肯定是因为我已经将宽度设置为Wrap_content。

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

问题是,如果我将宽度设置为Matder_parent,则(如预期)TextView的背景颜色填充了屏幕的整个宽度。我不是要设置右边文本的重力。我试图使整个文本视图与线性延迟的右侧保持一致,同时保持宽度等于其内部文本的大小。

任何人可以帮忙吗?

RelativeLayout.ALIGN_PARENT_RIGHT不起作用,因为它是RelativeLayout的规则,而不是LinearLayout

假定您的线层设置为match_parent,然后您应该应用重力。只需将以下内容添加到textView

android:layout_gravity="end"

编程等效的是调整文本视图上的布局参数:

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);

注意:布局重力和视图重力是不同的事物 - 布局重力设置了其布局内的视图位置,而重力设置了视图中内容的重力

最新更新