如何在Android中使用LayoutParams方法消除重力的影响?(Gravity.NO#u重力不起作用。)
我原以为TextView是右对齐的,因为如何在Android中使用LayoutParams方法消除重力的影响?(Gravity.NO#u重力不起作用。),android,xml,android-linearlayout,layout-gravity,Android,Xml,Android Linearlayout,Layout Gravity,我原以为TextView是右对齐的,因为没有重力,但它是左对齐的。不应将重力设置保持原样,而不是将其向左对齐。如果我也删除下面的这两行,即使我在xml代码中指定了android:layout_gravity=“center”,它仍然会将TextView向左对齐 params.gravity = Gravity.RIGHT; params.gravity = Gravity.NO_GRAVITY; 如何在不影响布局重力的情况下更改布局的其他属性?左侧和无重力之间到底有什么区别 LinearLay
没有重力
,但它是左对齐的。不应将重力设置保持原样,而不是将其向左对齐。如果我也删除下面的这两行,即使我在xml代码中指定了android:layout_gravity=“center”,它仍然会将TextView向左对齐
params.gravity = Gravity.RIGHT;
params.gravity = Gravity.NO_GRAVITY;
如何在不影响布局重力的情况下更改布局的其他属性?左侧
和无重力
之间到底有什么区别
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.RIGHT;
params.gravity = Gravity.NO_GRAVITY;
textView.setLayoutParams(params);
Gravity.NO_Gravity
可能(这只是一个猜测)表示“默认”重力,在您的语言环境中是左侧,但在某些国家可能是右侧(例如,由于)。如果要居中对齐,则可以设置重力.CENTER
,显然
如果您想要组合两个重力,那么可以使用flag add
params.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
此外,如果要设置
LinearLayout.LayoutParams
,则textView
s父级必须是LinearLayout
。在少数情况下,对于动态布局和多线程参数更改,应继续使用requestLayout()
方法调用强制在适当位置“重画”,线程向左强制向左,而无重力默认重力为零。意思是左我已经将布局方向更改为水平,并将代码中的Gravity.RIGHT
更改为Gravity.BOTTOM
,但仍然相同(与左上对齐)。我知道重力和重力的区别。也就是说,我正在尝试将整个TextView的对齐方式设置为右侧。我的期望是,在执行NO_gravity
之后,TextView的重力不会发生任何变化。我的目的是改变布局的其他属性,而不影响布局的重要性,正如我所说的,展示XML和/或用于膨胀的代码。您是否认为舒尔的textView
s父项是LinearLayout
?你能显示它的属性吗?
这里没有可疑的东西。。。您可以在setLayoutParams
之后尝试调用requestLayout()。您没有显示Java代码和更改这些LayoutParam
a的位置,它可能是关键