代码之家  ›  专栏  ›  技术社区  ›  Julien Duponchelle

相对于布局居中文本

  •  3
  • Julien Duponchelle  · 技术社区  · 14 年前

    我想把文本放在 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>
    

    你有办法吗?

    谢谢你的帮助

    5 回复  |  直到 9 年前
        1
  •  0
  •   Sharjeel    9 年前

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

    android:paddingLeft="160dip"
    

    到你的文本视图。

    把160度替换成160度,它几乎集中在所有屏幕上。。。

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

        2
  •  4
  •   GeekYouUp    14 年前

    我会将文本视图居中,并将其宽度设置为包装内容:

    <TextView
        android:layout_weight="75"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/list_title"
        android:layout_centerHorizontal="true" />
    
        3
  •  2
  •   Sharjeel    14 年前

    如果我做得对,那么您想将TextView元素放在父视图的中间/中心吗?

    使父布局相对延迟,并将TextView“Center in parent”设置为true。

        4
  •  1
  •   H.Muster    12 年前

    在xml中尝试此操作:

    android:gravity="center"
    
        5
  •  -1
  •   Arunabh Das    14 年前

    试试这样的-

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