将文本中心与androidalignment
我知道这听起来很容易。 我需要把一个文本放在中间,但是当文本太长,它需要下面,但仍然在我的xml中心alignment。
这是我的代码:
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/showdescriptioncontenttitle" android:paddingTop="10dp" android:paddingBottom="10dp" android:layout_centerHorizontal="true" > <TextView android:id="@+id/showdescriptiontitle" android:text="Title" android:textSize="35dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
我把填充顶部和底部,因为我需要一些空间。 PS:我的代码更大, 它在一个RelativeLayout中。
在TextView
也设置android:gravity
参数为center
。
为了testing不同布局参数的效果,我build议为每个元素使用不同的背景颜色,以便您可以看到布局如何随着重力,layout_gravity或其他参数而改变。
使用这种方式
txt.setGravity(Gravity.CENTER);
在xml中使用这种方式
<TextView android:id="@+id/myText" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Time is precious, so love now." android:gravity="center" android:textSize="30dp" android:textColor="#fff" />
您可以使用以下内容:
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/showdescriptioncontenttitle" android:paddingTop="10dp" android:paddingBottom="10dp"> <TextView android:id="@+id/textview1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Your text" android:typeface="serif" /> </LinearLayout>
该布局需要相对于要使用的“中心”属性。
在你的TextView中添加android:gravity="center"
将会做到这一点(父母布局是Relative/Linear
)!
另外,你应该避免使用字体大小的dp。 改用sp。
在TextView中添加layout_gravity和重心以及中心值
<TextView android:text="welcome text" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:gravity="center" />