Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中使用LayoutParams方法消除重力的影响?(Gravity.NO#u重力不起作用。)_Android_Xml_Android Linearlayout_Layout Gravity - Fatal编程技术网

如何在Android中使用LayoutParams方法消除重力的影响?(Gravity.NO#u重力不起作用。)

如何在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

我原以为TextView是右对齐的,因为
没有重力
,但它是左对齐的。不应将重力设置保持原样,而不是将其向左对齐。如果我也删除下面的这两行,即使我在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的位置,它可能是关键