2012-08-27 33 views
3

我有一個問題,那就是也許很傻,可我就是不明白,爲什麼這是行不通的。安卓:layout_gravity中心不中心

基本上,我有我的活動頭。這個標題應該居中。

佈局-XML中styles.xml

<style name="TextHeader"> 
    <item name="android:textSize">20dp</item> 
    <item name="android:paddingTop">15dp</item> 
    <item name="android:layout_gravity">center</item> 
    <item name="android:paddingBottom">15dp</item> 
</style> 

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

<TextView 
    style="@style/TextHeader" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/define" 
    /> 
</LinearLayout> 

定義據我所知,layout_gravity定義組件本身的重力,而gravity定義了該成分的含量的重力。我嘗試了兩種方法,分別使用center和center_horizo​​ntal。我也做了頭部的TextView layout_width:wrap_content並試圖layout_gravity居中,但(如果我把應用程序在手機上同樣的事情)

enter image description here

爲什麼會這樣的結果總是跟隨?我該如何解決它?

+0

沒有你試過center_vertical?你也可以使用relativelayout而不是線性佈局。 – Mohit

回答

7

有幾個不同的解決方案,這是一個:

<TextView 
    android:id="@+id/text" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:text="@string/define" /> 

這是另一種:

<RelativeLayout .../> 

    <TextView 
     ... 
     android:centerInParent="true" /> 

</RelativeLayout> 

你可以調整你的風格屬性,無論你選擇哪個方法。

+0

我想它只適用於寬度設置爲match_parent或fill_parent – Sami

0

嘗試使用"center_horizontal"layout_width:"fill_parent"

0

嘗試

center_vertical 

Use Relative Layout.