将TextView居中:为什么它不起作用?

时间:2013-09-15 13:16:58

标签: java android android-layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:textColor="@color/red"
    android:textStyle="bold"
    android:text="@string/desc" 
    />

<TextView
    android:id="@+id/textView2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="60dp"
    android:textStyle="bold|italic"
    android:text="Welcome"
    android:textAppearance="?android:attr/textAppearanceLarge"
     />

</RelativeLayout>

我想将第二个TextView居中但我不能......这是代码,你知道帮帮我吗?错误在哪里?我疯了!

5 个答案:

答案 0 :(得分:4)

将以下内容添加到您的textview:

android:gravity="center"

但与此同时,我建议重新考虑您的布局,因为您有2个全文显示的文字视图。

修改 center以水平和垂直为中心。如果只需要在特定轴上,请使用以下方法之一:     机器人:重力= “CENTER_HORIZONTAL” 要么     机器人:重力= “center_vertical”

答案 1 :(得分:0)

试试这个:

<TextView
    android:id="@+id/textView2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="60dp"
    android:textStyle="bold|italic"
    android:text="Welcome"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge"
     />

答案 2 :(得分:0)

像这样更改你的布局

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:textColor="@color/red"
    android:textStyle="bold"
    android:text="@string/desc" 
    />

<TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_marginTop="60dp"
    android:textStyle="bold|italic"   
    android:text="Welcome"
    android:textAppearance="?android:attr/textAppearanceLarge"
     />

</RelativeLayout>

始终使用match_parent而不是fill_parent

答案 3 :(得分:0)

如何以这种方式设置

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"        >
    <TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:textColor="@color/red"
    android:textStyle="bold"
    android:text="@string/desc"         />

<TextView
    android:id="@+id/textView2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="60dp"
    android:textStyle="bold|italic"
    android:text="Welcome"
    android:textAppearance="?android:attr/textAppearanceLarge"         />

</RelativeLayout>

替代地

 <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/RelativeLayout2"
        android:layout_width="fill_parent"
        android:gravity="center"
        android:layout_height="fill_parent">
        <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_contet"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"           
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:textColor="@color/red"
        android:textStyle="bold"
        android:text="@string/desc"             />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"           
        android:layout_centerHorizontal="true"
        android:layout_marginTop="60dp"
        android:textStyle="bold|italic"
        android:text="Welcome"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    </RelativeLayout>

答案 4 :(得分:0)

// try this 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout2"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginTop="60dp"
        android:textStyle="bold|italic"
        android:text="Welcome"
        android:textAppearance="?android:attr/textAppearanceLarge"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_above="@id/textView2"
        android:layout_marginTop="20dp"
        android:textColor="@color/red"
        android:text="@string/desc"
        android:textStyle="bold"/>

</RelativeLayout>