2013-07-27 87 views
0

我已經嘗試了大量的組合,但是我的「sectionTitle textview」始終位於「sectionOptionsButton按鈕」旁邊的左側。我想在水平和垂直兩個按鈕之間居中。Android如何居中文本視圖

<?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:background="@color/BackGroundColor" 
    android:orientation="vertical" 
    android:scaleType="center" > 

    <LinearLayout 
     android:id="@+id/mLlayout1" 
     android:layout_width="match_parent" 
     android:layout_height="35dp" 
     android:background="@color/BlueOcean" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/sectionOptionsButton" 
      android:layout_width="33dp" 
      android:layout_height="33dp" 
      android:layout_weight="0" 
      android:layout_gravity="left"    
      android:background="@drawable/adddatabase1"/> 

     <TextView 
      android:id="@+id/sectionTitle" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" 
      android:layout_weight="1" 
      android:text="(blank)" /> 

     <Button 
      android:id="@+id/addCatButton" 
      android:layout_width="33dp" 
      android:layout_height="33dp" 
      android:layout_weight="0" 
      android:layout_gravity="right"    
      android:background="@drawable/plusicon3"/> 
    </LinearLayout> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:divider="#b5b5b5" 
     android:dividerHeight="1dp" 
     android:listSelector="@drawable/listview_style_list_selector" /> 

</LinearLayout> 

怎麼了?由於

+0

你只想要的LinearLayout ......或者我可以做一個RelativeLayout的給你不幸顯示爲例子... –

回答

2

layout_gravity只定義了你的TextView的父LinearLayout位置。由於您的TextView寬度設置爲match_parent,所以TextView不能像您期望的那樣居中。使用gravity而不是layout_gravity。這將直接將文本居中放置在TextView中,而不是整個TextView。

這是全碼:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout 
    android:id="@+id/mLlayout1" 
    android:layout_width="match_parent" 
    android:layout_height="35dp" 
    android:background="@color/BlueOcean" 
    android:orientation="horizontal" > 

    <Button 
     android:id="@+id/sectionOptionsButton" 
     android:layout_width="33dp" 
     android:layout_height="33dp" 
     android:layout_weight="0" 
     android:layout_gravity="left"    
     android:background="@drawable/adddatabase1"/> 

    <TextView 
     android:id="@+id/sectionTitle" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:layout_weight="1" 
     android:text="(blank)" /> 

    <Button 
     android:id="@+id/addCatButton" 
     android:layout_width="33dp" 
     android:layout_height="33dp" 
     android:layout_weight="0" 
     android:layout_gravity="right"    
     android:background="@drawable/plusicon3"/> 
</LinearLayout> 

<ListView 
    android:id="@+id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:divider="#b5b5b5" 
    android:dividerHeight="1dp" 
    android:listSelector="@drawable/listview_style_list_selector" /> 

+0

我可能沒有解釋得很好。我想將視圖居中在父視圖組中。多數民衆贊成什麼即時通訊不能完成 –

+0

我有這個:[Button] [TextView] [Button]。我想[按鈕] [TextView] [按鈕] –

+0

你有沒有試過我的代碼?我現在解決了問題。它應該適用於你解釋的問題。 –

1

試試這個方法:

<LinearLayout 
    android:id="@+id/mLlayout1" 
    android:layout_width="match_parent" 
    android:layout_height="35dp" 
    android:background="@color/BlueOcean" 
    android:orientation="horizontal" > 

    <Button 
     android:id="@+id/sectionOptionsButton" 
     android:layout_width="33dp" 
     android:layout_height="33dp" 
     android:layout_gravity="left"    
     android:background="@drawable/adddatabase1"/> 

    <TextView 
     android:id="@+id/sectionTitle" 
     android:layout_width="0dip" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" 
     android:layout_weight="1" 
     android:text="(blank)" /> 

    <Button 
     android:id="@+id/addCatButton" 
     android:layout_width="33dp" 
     android:layout_height="33dp" 
     android:layout_gravity="right"    
     android:background="@drawable/plusicon3"/> 
</LinearLayout> 
+0

它仍然是相同的 –

+0

@BrunoCarvalho你想對齊textview或textview本身內的文本? – Blackbelt

+0

我想要textview自身。我想要button1對齊左邊,textview中心和button2對齊右邊 –