在更改文本大小时,我已经用尽了我的搜索以保持TextView居中。
此网站上有许多类似的问题,但没有一个主题为我的问题提供解决方案。
在我的XML文件中,我有一个RelativeLayout和TextView(下面的代码)。
将文字大小从1更改为> 300的TextView,然后从300返回 - > 1以编程方式,TextView的位置更改并向屏幕底部向下移动。
如何使TextView以动态的文本集为中心?
这是我的xml文件
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vgRelativeLayout">
<TextView
android:id="@+id/tViewID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:center_vertical="true"
android:center_horizontal="true" />
</RelativeLayout>
如果以编程方式执行以下操作,TextView的位置将从center_vertical和center_horizontal属性设置的原始居中位置更改。
TextView的新位置将在垂直刻度上移动得更低。
水平刻度上的位置不会改变。
TextView tView = (TextView) findViewById(R.id.tViewID);
tView.setTextSize(1);
Thread.sleep(5000);
tView.setTextSize(300);
Thread.sleep(5000);
tview.setTextSize(1);
答案 0 :(得分:0)
听起来你需要调用布局来重新做它的布局。在这种情况下,您通常使用RequestLayout(),可以通过获取对RelativeLayout的引用来调用它。
所以你需要给RelativeLayout一个Id,然后通过findViewById()获取引用,然后在你改变文本大小后调用RequestLayout。
答案 1 :(得分:0)
试试这个android:layout_centerHorizontal =“true”&amp; android:layout_centerVertical =“true”或试试这个android:layout_centerInParent =“true”。如果有效,请点击投票给我