如何使用 Android 中的 LayoutParams 方法消除重力影响? (Gravity.NO_GRAVITY 无效。)
How can I remove effect of gravity using LayoutParams method in Android? (Gravity.NO_GRAVITY doesn't work.)
由于 NO_GRAVITY
,我预计 TextView 是右对齐的,但它是左对齐的。不应该 NO_GRAVITY
保持重力设置不变,而不是将其向左对齐。如果我也删除了这两行亲爱的,即使我在 android:layout_gravity="center" 中指定 android:layout_gravity="center" =27=]代码。
params.gravity = Gravity.RIGHT;
params.gravity = Gravity.NO_GRAVITY;
如何在不影响重力的情况下更改布局的其他属性? LEFT
和 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
可能(这只是一个猜测)意味着 "default" 重力,在您的语言环境中它是左边的,但在某些国家/地区它可能是正确的(阿拉伯语,例如,由于 writting direction).如果你想要居中对齐,那么你可以设置 Gravity.CENTER
,显然...
如果你想合并两个Gravities,那么你可以使用flag add
params.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
此外,如果您要设置 LinearLayout.LayoutParams
,则 textView
的父级必须是 LinearLayout
。在极少数情况下,动态布局和参数中的多个线程更改应该继续使用 requestLayout()
方法调用以强制 "redraw" 在适当的位置和线程
由于 NO_GRAVITY
,我预计 TextView 是右对齐的,但它是左对齐的。不应该 NO_GRAVITY
保持重力设置不变,而不是将其向左对齐。如果我也删除了这两行亲爱的,即使我在 android:layout_gravity="center" 中指定 android:layout_gravity="center" =27=]代码。
params.gravity = Gravity.RIGHT;
params.gravity = Gravity.NO_GRAVITY;
如何在不影响重力的情况下更改布局的其他属性? LEFT
和 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
可能(这只是一个猜测)意味着 "default" 重力,在您的语言环境中它是左边的,但在某些国家/地区它可能是正确的(阿拉伯语,例如,由于 writting direction).如果你想要居中对齐,那么你可以设置 Gravity.CENTER
,显然...
如果你想合并两个Gravities,那么你可以使用flag add
params.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
此外,如果您要设置 LinearLayout.LayoutParams
,则 textView
的父级必须是 LinearLayout
。在极少数情况下,动态布局和参数中的多个线程更改应该继续使用 requestLayout()
方法调用以强制 "redraw" 在适当的位置和线程