中心文本相对于布局

时间:2010-11-22 16:21:06

标签: android

我希望将文本居中于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 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:2)

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

使您的父布局RelativeLayout并将TextView“Center in Parent”设置为true。

答案 2 :(得分:1)

在你的xml中试试这个:

android:gravity="center"

答案 3 :(得分:0)

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

android:paddingLeft="160dip"

到你的textview。

将160dip替换为160 - 你的标题/ 2的长度,它将几乎集中在所有屏幕上......

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

答案 4 :(得分:-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>