2014-02-26 74 views
3

我有一個相對佈局和3個textview。我會把3 textview ,1左側,1右側和1中心。在我的應用程序中將TextView對齊到RelativeLayout的中心

AS IS

enter image description here

enter image description here

這是我的佈局XML

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:background="#FFFFFF" 
    > 
<TextView 

     android:id="@+id/girone" 
     android:layout_width="fill_parent" 
     android:layout_height="20dip" 
     style="@style/NomeSquadra" 

    /> 

    <TextView 

      android:layout_marginLeft="2dip" 
      android:id="@+id/home" 
      android:layout_width="wrap_content" 
      android:layout_height="25dip" 
      android:layout_below="@+id/girone" 
      style="@style/NomeSquadra" 
      android:layout_alignParentLeft="true" 
      android:gravity="left|center_vertical" 
     /> 



     <TextView 

      android:layout_marginLeft="2dip" 
      android:id="@+id/vs" 
      android:layout_toRightOf="@+id/home" 
      android:layout_width="wrap_content" 
      android:layout_height="25dip" 
      android:layout_below="@+id/girone" 
      style="@style/NomeSquadra" 
      android:gravity="center|center_vertical" 
     /> 



     <TextView 
      android:layout_marginLeft="2dip" 
      android:id="@+id/away" 
      android:layout_toRightOf="@+id/vs" 
      android:layout_width="wrap_content" 
      android:layout_height="25dip" 
      android:layout_below="@+id/girone" 
      style="@style/NomeSquadra" 
      android:layout_alignParentRight="true" 
      android:gravity="right|center_vertical" 
     /> 

</RelativeLayout> 

@風格/ NomeSquadra:

<style name="NomeSquadra" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textColor">#C0C0C0</item> 
    <item name="android:typeface">monospace</item> 
    <item name="android:textSize">10sp</item> 
    <item name="android:textColorHighlight">#C0C0C0</item> 
</style> 

如何發生的TextView ID爲 「VS」 到相對佈局(屏幕中心)的中心?

感謝

+0

嘗試layout_gravity –

回答

3

嘗試用你的這個佈局如下結構...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#FFFFFF" > 

    <TextView 
     android:id="@+id/girone" 
     style="@style/NomeSquadra" 
     android:layout_width="fill_parent" 
     android:layout_height="20dip" /> 

    <TextView 
     android:id="@+id/home" 
     style="@style/NomeSquadra" 
     android:layout_width="wrap_content" 
     android:layout_height="25dip" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/girone" 
     android:layout_marginLeft="2dip" 
     android:gravity="left|center_vertical" /> 

    <TextView 
     android:id="@+id/vs" 
     style="@style/NomeSquadra" 
     android:layout_width="wrap_content" 
     android:layout_height="25dip" 
     android:layout_below="@+id/girone" 
     android:layout_centerHorizontal="true" 
     android:gravity="center|center_vertical" /> 

    <TextView 
     android:id="@+id/away" 
     style="@style/NomeSquadra" 
     android:layout_width="wrap_content" 
     android:layout_height="25dip" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/girone" 
     android:layout_marginLeft="2dip" 
     android:layout_toRightOf="@+id/vs" 
     android:gravity="right|center_vertical" /> 

</RelativeLayout> 
+0

android:layout_gravity =「center_horizo​​ntal」不工作... – Gjord83

+0

看到我更新的答案...我認爲你會得到它的權利。 –

+0

現在工作正常!大!!! – Gjord83

1

請在您的TextView代碼:

<TextView 

      android:layout_marginLeft="2dip" 
      android:id="@+id/vs" 
      android:layout_toRightOf="@+id/home" 
      android:layout_width="wrap_content" 
      android:layout_height="25dip" 
      android:layout_centerHorizontal="true" 
      android:layout_below="@+id/girone" 
      style="@style/NomeSquadra" 

     /> 
+0

機器人:layout_gravity = 「CENTER_HORIZONTAL」 不行... – Gjord83

+0

機器人:layout_centerHorizo​​ntal = 「真正的」 替換此 –

0

試試這個代碼的TextView,其ID = 機器人:ID =「@ + ID/VS

<TextView 
     android:id="@+id/vs" 
     android:layout_width="wrap_content" 
     android:layout_height="25dip" 
     android:layout_alignBaseline="@+id/away" 
     android:layout_alignBottom="@+id/away" 
     android:layout_centerHorizontal="true" /> 

希望這會有所幫助。

1

嘗試這一個它會工作wh在你期望

<?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" 
> 
<TextView 
    android:id="@+id/1" 
    android:layout_width="wrap_content" 
    android:text="1" 
    android:layout_height="wrap_content"/> 
<TextView android:id="@+id/3" 
    android:layout_width="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_height="wrap_content" 
    android:text="3" 
    /> 
<TextView 
    android:id="@+id/2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:text="2" /> 


</RelativeLayout> 
+0

機器人:layout_alignParentEnd =「true」not found ... – Gjord83

+0

@ user3336884只需將此代碼複製並粘貼到一個新的xml中,然後查看結果是什麼... – Aravin

+0

並確保您使用的是相對佈局。 – Aravin

0

使用android:layout_centerHorizontal="true"

Editted:

嘗試在你的佈局XML文件下面的代碼

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
> 
<TextView 
    android:layout_width="wrap_content" 
    android:text="1" 
    android:layout_height="wrap_content"/> 

<TextView 
    android:background="#ff6a0a0a" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:text="center first row" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_height="wrap_content" 
    android:text="3" 
    /> 
</RelativeLayout> 
    <RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
> 
<TextView 
    android:layout_width="wrap_content" 
    android:text="1" 
    android:layout_height="wrap_content"/> 

<TextView 
    android:background="#ff6a0a0a" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:text="2afasfasdf middle row content" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_height="wrap_content" 
    android:text="3" 
    /> 
</RelativeLayout> 

     <RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
> 
<TextView 
    android:layout_width="wrap_content" 
    android:text="1" 
    android:layout_height="wrap_content"/> 

<TextView 
    android:background="#ff6a0a0a" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:text="thrid row" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_height="wrap_content" 
    android:text="3" 
    /> 
</RelativeLayout> 
+0

android:layout_centerHorizo​​ntal =「true」不適合我.... – Gjord83

0

就我而言,我嘗試使用android:layout_centerHorizontal="true"的建議在此線程,來顯示文本時,適配器視圖(ListView中,GridView控件等)是空的,但是這沒有奏效:

解決方案是使用android:layout_centerVertical="true"代替。

<?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"> 

    <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolsGridView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:columnWidth="90dp" 
    android:gravity="center" 
    android:horizontalSpacing="10dp" 
    android:numColumns="auto_fit" 
    android:stretchMode="columnWidth" 
    android:verticalSpacing="10dp" /> 

    <TextView 
    android:id="@+id/emptyGridViewText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:gravity="center" 
    android:padding="12dp" 
    android:text="Not items to display at the moment. Please check again soon" 
    android:textColor="@color/colorAccent" 
    android:textSize="15sp"/> 
    </RelativeLayout> 

記得用android:gravity="center"正確對齊文本

enter image description here

相關問題