2012-11-20 96 views
21

我有以下布局,我希望使textview出现在视图的中间和中间。我该如何实现这个目标?如何将一个textview居中在一个线性布局中

我试着调整各种重力属性时,在图形视图中查看布局,但似乎没有改变它。我希望在我所完成的中心的textview中,但在视图的一半处。

谢谢马特。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/carefreebgscaledalphajpg" > 



    <TextView 
     android:id="@+id/textviewdatefornocallspage" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="You have no calls for " 
     android:textSize="25sp" /> 

</LinearLayout> 

回答

38

将重力设置为中心[R在你的LinearLayout标签:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center" 
    android:background="@drawable/carefreebgscaledalphajpg" > 

或使用RelativeLayout这样的:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/carefreebgscaledalphajpg" > 



    <TextView 
     android:id="@+id/textviewdatefornocallspage" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:text="You have no calls for " 
     android:textSize="25sp" /> 

</RelativeLayout> 
+0

感谢工作得很好,现在 – turtleboy

+1

的RelativeLayout的解决方案工作对我来说,但在TextView中,我必须使用'wrap_content'来兼顾宽度和高度。 –

+0

@Jose_GD:在这两种情况下,它都适用于你:)。在使用width属性'match_parent'的情况下,只需添加'layout_gravity =“center”'。就这样 ;) – Houcine

0

添加android:gravity="center_horizontal"的LinearLayout和改变你的TextView你TextView的layout_widthandroid:layout_width="wrap_content"

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center_horizontal" 
    android:background="@drawable/carefreebgscaledalphajpg" > 



    <TextView 
     android:id="@+id/textviewdatefornocallspage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="You have no calls for " 
     android:textSize="25sp" /> 

</LinearLayout> 
0

设置宽度到您的TextView的wrap_content和你的LinearLayout设置为android:gravity=center_horizontal

0
<TextView 
... 
    android:layout_gravity="center" 
.... 
/> 
0

如果在垂直线性布局中,你可以把textview放在“水平中心”android:layout_gravity="center"。要使textview垂直居中,您需要将textview的layout_height设置为match_parent,并将android:gravity设置为“center”。如果您想在此布局中使用多个视图,则应使用RelativeLayout并设置为 android:layout_centerInParent="true"

0

使用相对布局,它总是给更加准确,灵活的布局

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<ImageView 
    android:id="@+id/imageView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:src="@drawable/ic_launcher" /> 
</RelativeLayout> 
5

设置android:gravity="center"线性布局并保持文本视图的高度和宽度wrap_content

此解决方案适用于我。

2

试试这个

简单的我已经尝试了许多答案,但所有的答案都没有工作......最后这个方法对我的作品

     <LinearLayout 
         android:layout_below="@+id/iv_divider" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:orientation="vertical" 
         android:layout_marginTop="@dimen/_10dp"> 
         <TextView 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:text="@string/mycredits" 
          android:textColor="@color/colorGray" 
          android:gravity="center" 
          android:textSize="@dimen/_25dp" /> 
        </LinearLayout> 
相关问题