2012-11-20 207 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> 
相關問題