android:在TextView中的重力不起作用

时间:2017-02-14 09:09:34

标签: android textview

当我将android:gravity应用于center(或甚至textAlign的textAlignment为true)时,即时更改将应用​​于当前活动(使用我的设备进行测试)并且文本居中。

但是当我使用相同的更改安装/重新启动应用程序(或者回到上一个活动的当前活动)时,文本在TextView的开头保持对齐。

TextView试图居中:android:id =" @ + id / ttamt

仅当我在活动上运行应用程序时进行更改时,文本才会居中。

真的无法理解我在这里做错了什么,

感谢您的时间和帮助。

以下是我的布局代码:

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

    <RelativeLayout
        android:id="@+id/mainRel"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:background="#5f5f5f"
        android:elevation="10dp"
        android:transitionName="@string/transtrans">

        <ImageView
            android:id="@+id/ttimg"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="30dp"
            android:src="@drawable/com_facebook_tooltip_blue_topnub"
            android:transitionName="timgTrans" />


        <TextView
            android:id="@+id/ttamt"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_below="@+id/ttimg"
            android:layout_marginTop="20dp"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:text="1001"
            android:textColor="#fff"
            android:textSize="55sp"
            android:textStyle="bold|italic"
            android:transitionName="tamtTrans" />


        <TextView
            android:id="@+id/ttdate"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_below="@+id/ttamt"
            android:layout_marginTop="25dp"
            android:layout_toRightOf="@+id/timg"
            android:fontFamily="sans-serif"
            android:text="01/01/01"
            android:textAlignment="center"
            android:textColor="#fff"
            android:textSize="22dp"
            android:textStyle="bold|italic" />


    </RelativeLayout>

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="#f0f0f0"
        android:clickable="true"
        android:elevation="15dp"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardCornerRadius="7dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/ttdesc"
                android:layout_width="150dp"
                android:layout_height="45dp"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="12dp"
                android:fontFamily="sans-serif"
                android:text="TestDesc"
                android:textSize="16sp"
                android:textStyle="bold|italic"
                android:transitionName="tdescTrans" />

            <ImageView
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="120dp"
                android:src="@drawable/ic_mode_edit_black_24dp" />
        </LinearLayout>
    </android.support.v7.widget.CardView>

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="#f0f0f0"
        android:clickable="true"
        android:elevation="15dp"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardCornerRadius="7dp">

        <TextView
            android:id="@+id/ttmsg"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="20dp"
            android:lineSpacingExtra="5dp"
            android:text="View SMS"
            android:textSize="15dp" />
    </android.support.v7.widget.CardView>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

在看到this回答后,看起来像是api 18或更高版本的问题。

做了同样的事情,将我的观点包裹在LinearLayout中并使用了textAlignment =&#34; center&#34; 。现在工作正常。

最终布局代码段:

    <RelativeLayout
    android:id="@+id/mainRel"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:background="#5f5f5f"
    android:elevation="10dp"
    android:transitionName="@string/transtrans">

    <ImageView
        android:id="@+id/ttimg"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:src="@drawable/com_facebook_tooltip_blue_topnub"
        android:transitionName="timgTrans" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/ttamt"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_below="@+id/ttimg"
            android:fontFamily="sans-serif"
            android:text="1001"
            android:textAlignment="center"
            android:textColor="#fff"
            android:textSize="55sp"
            android:textStyle="bold|italic"
            android:transitionName="tamtTrans" />

        <TextView
            android:id="@+id/ttdate"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_below="@+id/ttamt"
            android:layout_marginTop="25dp"
            android:fontFamily="sans-serif"
            android:text="01/01/01"
            android:textAlignment="center"
            android:textColor="#fff"
            android:textSize="22dp"
            android:textStyle="bold|italic" />

    </LinearLayout>
</RelativeLayout>