2010-11-22 73 views
3

我想将TextView中的文本相对于父布局居中放置,而不是相对于textview。在此代码在想相对于布局的中心文本

例居中相对文本list_title我的屏幕宽度:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 
<TextView 
     android:layout_weight="75" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/list_title" /> 
    <Button 
     android:layout_weight="15" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:minWidth="90px" 
     android:text="@string/filter" 
     android:visibility="gone" 
     android:id="@+id/button_filter" /> 
</LinearLayout> 

你有一个解决方案吗?

感谢您的帮助

回答

0

哼,这不是一个很好的解决方案,但如果你知道你的标题lenght,您可以添加

android:paddingLeft="160dip" 

您的TextView。

更换160dip 160 - 您的标题/ 2,将几乎集中所有屏幕上的lenght ...

编辑:或者,如果你想在其他的解决方案,你必须使用相对布局。

+0

如何使用相对布局要做到这一点?谢谢你的帮助。 – 2010-11-22 17:00:00

+0

你必须用像这样的相关布局替换你的线性布局:你必须放入你的textview宽度填充父母,权重为0和引力到中心,然后你把你的按钮放在相对布局中,权重为1,layout_gravity为右。 – Khetzal 2010-11-22 17:24:55

4

我会去与中心的TextView并设置其宽度为wrap_content:

<TextView 
    android:layout_weight="75" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/list_title" 
    android:layout_centerHorizontal="true" /> 
2

如果我得到它的权利,那么你希望把你的TextView元素的父视图的中央/中心?

使你的父母布局RelativeLayout和设置TextView“父母中心”为true。

-1

尝试这样的事情 -

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


       <RelativeLayout android:id="@+id/widget21" 
        android:orientation="horizontal" android:background="@drawable/header" 
        android:layout_height="wrap_content" android:layout_width="wrap_content" 
        android:layout_below="@id/widget20" android:layout_gravity="bottom" 


        > 
         <RelativeLayout android:id="@+id/widget21" 
         android:layout_marginTop="37dip" 
        android:orientation="horizontal" 
        android:layout_height="wrap_content" android:layout_width="fill_parent" 
        android:layout_below="@id/widget20"> 

        <TextView android:id="@+id/section_header_text" 

         android:layout_width="wrap_content" android:textSize="24dip" 
         android:textStyle="bold" 
         android:text="@string/section_header_text" android:layout_height="wrap_content" 
         android:textColor="#ffffff" android:gravity="bottom" 

         android:layout_centerInParent="true" 



         ></TextView> 
         </RelativeLayout> 

       </RelativeLayout> 

       <ListView android:id="@+id/android:list" android:layout_width="fill_parent" 
        android:layout_height="wrap_content" android:scaleType="fitEnd" /> 
       <TextView android:id="@android:id/empty" android:layout_width="fill_parent" 
        android:layout_height="wrap_content" android:text="@string/retrieving_text" 
        android:gravity="center_vertical" android:layout_marginLeft="15dip" 
        android:textAppearance="?android:attr/textAppearanceLarge" 
        android:singleLine="false" android:paddingBottom="2dip" /> 
      </LinearLayout> 
1

试试这个在您的XML:

android:gravity="center"