将Textview添加到确定位置的FrameLayout

时间:2012-06-18 06:01:03

标签: android textview android-framelayout

我正在尝试向textView添加frameLayoutTextView具有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始终显示在屏幕的左上角。我想把它放在中间或中间位置。怎么办呢?
我查看How can I dynamically set the position of view in Android?中的答案并没有多大帮助:(主要是造成崩溃..

6 个答案:

答案 0 :(得分:15)

试试这个:

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

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

根据您的需要更改Gravity

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

答案 1 :(得分:0)

尝试将重力或布局重力映射到Framelayout或Textview。它使您的布局成为屏幕的中心。像这样使用,

android:layout_gravity="center"

android:gravity="center"

答案 2 :(得分:0)

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

textview.setGravity(Gravity.center);

通过xml将其设置为居中,以便将其显示在中心位置,如果您使用centerinparents,它将始终显示在屏幕中央。

答案 3 :(得分:0)

FrameLayout属性android:layout_widthandroid:layout_height设置为fill_parent,并设置TextView属性LayoutGravity。例如CenterRightTop

由于

答案 4 :(得分: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>

答案 5 :(得分:0)

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