7

我正在尝试将 a 添加textViewframeLayout. TextView具有wrap_content属性,因此它会随着文本的增长而增长。我FrameLayout用这个函数将它添加到一个:

((FrameLayout) findViewById(R.id.mainLayout)).addView(mEditText);

这是框架布局的 xml:

<FrameLayout  
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mainLayout"
android:layout_width="wrap_content"  
android:layout_height="wrap_content"> 
</FrameLayout>

textView 总是出现在屏幕的左上角。我想把它放在中间,或者顶部中间。如何才能做到这一点?
我查看了如何在 Android 中动态设置视图位置?他们并没有太大帮助:(主要导致崩溃..

4

6 回答 6

15

试试这个:

FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER);

((FrameLayout) findViewById(R.id.mainLayout)).addView(mEditText, params);

更改重力以满足您的需要。

顺便说一句,框架布局fill_parent应用于宽度和高度

于 2012-06-18T06:07:11.560 回答
0

尝试重力或布局重力到您的 Framelayout 或 Textview。它使您的布局位于屏幕的中心。像这样使用,

android:layout_gravity="center"

或者

android:gravity="center"
于 2012-06-18T06:07:55.407 回答
0

您可以通过设置文本的重力来尝试它,就像使用它一样 -

textview.setGravity(Gravity.center);

否则,xml将重力设置为中心,这样它就会在中心显示你,如果你要使用centerinparents它,它总是会出现在屏幕的中心。

于 2012-06-18T06:08:21.153 回答
0

设置FrameLayoutpropertiesandroid:layout_widthandroid:layout_heighttofill_parent并设置TextViewproperty LayoutGravity。比如CenterRightTop

谢谢

于 2012-06-18T06:09:00.133 回答
0

添加android:layout_gravity="center"你的框架布局

<FrameLayout  
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainLayout"
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"
    android:layout_gravity="center" > 
</FrameLayout>
于 2012-06-18T06:19:15.190 回答
0

以编程方式设置重力绝对有效 请在 xml TextView.setGravity(Gravity.RIGHT); 中将 layout_gravity 设置为正确;

于 2015-01-14T05:20:09.830 回答