【发布时间】:2011-11-06 05:41:54
【问题描述】:
在 xml 中,您可以执行以下操作:
<TextView
...
android:layout_centerHorizontal="true"
...
/>
当我拥有TextView 的实例时,我将如何以编程方式执行此操作?
【问题讨论】:
标签: android android-layout centering android-relativelayout
在 xml 中,您可以执行以下操作:
<TextView
...
android:layout_centerHorizontal="true"
...
/>
当我拥有TextView 的实例时,我将如何以编程方式执行此操作?
【问题讨论】:
标签: android android-layout centering android-relativelayout
您应该使用RelativeLayout.LayoutParams 类的addRule 方法。
layoutparams.addRule(RelativeLayout.CENTER_HORIZONTAL);
mTextView.setLayoutParams(layoutParams);
【讨论】:
假设您有一个名为 TextView 的存储在变量 tv 中:
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) tv.getLayoutParams();
lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
tv.setLayoutParams(lp);
应该做的伎俩。
【讨论】:
lp。 getLayoutParams 可以返回 null
假设txtPhone 是我们试图将其水平居中放置的文本视图。
如果您使用的是 Java,请使用以下代码,
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) txtPhone.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
txtPhone.setLayoutParams(layoutParams);
如果您使用的是 Kotlin,请使用以下代码,
val layoutParams = txtPhone.getLayoutParams() as RelativeLayout.LayoutParams
layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL)
txtPhone.setLayoutParams(layoutParams)
【讨论】: