我正在尝试向textView
添加frameLayout
。 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始终显示在屏幕的左上角。我想把它放在中间或中间位置。怎么办呢?
我查看How can I dynamically set the position of view in Android?中的答案并没有多大帮助:(主要是造成崩溃..
答案 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_width
和android:layout_height
设置为fill_parent
,并设置TextView
属性LayoutGravity
。例如Center
,Right
或Top
。
由于
答案 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);