Android sdk 18 TextView引力不能垂直工作

时间:2013-11-27 10:13:46

标签: java android textview

我对SDK 18有疑问。 我的文本视图的重力不垂直。但它与sdk17合作。

图片和代码:

header_of_listView.xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/RelativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/iv_bg"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/entete.size.h"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_centerHorizontal="true"
            android:contentDescription="@string/blank"
            android:scaleType="fitXY"
            android:src="@drawable/cellule_flecher_mise_en_valeur" />

        <TextView
            android:id="@+id/tv_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@id/iv_bg"
            android:layout_alignLeft="@id/iv_bg"
            android:layout_alignRight="@id/iv_bg"
            android:layout_alignTop="@id/iv_bg"
            android:layout_marginBottom="6dp"
            android:gravity="center"
            android:text="@string/a_remplacer"
            android:textColor="@color/tableviewText"
            android:textSize="18sp"
            android:textStyle="bold" 
            android:layout_centerHorizontal="true"/>

    </RelativeLayout>

的AndroidManifest.xml

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

sdk = 17

的AndroidManifest.xml

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

sdk = 18

带有黑色背景的textview 机器人:背景= “#000000”

sdk 18 with black background

如果有人有想法。 我试着用match_parent改变wrap_content。

唯一有用的是 TextView上的android:layout_height =“@ dimen / entete.size.h”,但保证金不适用。 目前我将项目留给SDK 17。

3 个答案:

答案 0 :(得分:9)

问题是RelativLayout是listview项的根布局。如果你在RelativeLayout周围放置一个LinearLayout,它也适用于targetSdk = 19。 GridView出现同样的问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   ... your layout like before

</LinearLayout>

这不是一个很好的解决方法 - 但我认为比使用targetSdk = 17更好。

答案 1 :(得分:0)

我遇到了同样的问题,它只发生在Android 19中。我的目标是api 23,它运行正常。

我发现给textview一个高度修复了问题

就是这样:

         <TextView
            android:id="@+id/tv_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@id/iv_bg"
            android:layout_alignLeft="@id/iv_bg"
            android:layout_alignRight="@id/iv_bg"
            android:layout_alignTop="@id/iv_bg"
            android:layout_marginBottom="6dp"
            android:gravity="center"
            android:text="@string/a_remplacer"
            android:textColor="@color/tableviewText"
            android:textSize="18sp"
            android:textStyle="bold" 
            android:layout_centerHorizontal="true"/>

我这样做了:

         <TextView
            android:id="@+id/tv_message"
            android:layout_width="wrap_content"
            android:layout_height="40dp"            <!-- this is the key-->      
            android:layout_alignBottom="@id/iv_bg"
            android:layout_alignLeft="@id/iv_bg"
            android:layout_alignRight="@id/iv_bg"
            android:layout_alignTop="@id/iv_bg"
            android:layout_marginBottom="6dp"
            android:gravity="center"
            android:text="@string/a_remplacer"
            android:textColor="@color/tableviewText"
            android:textSize="18sp"
            android:textStyle="bold" 
            android:layout_centerHorizontal="true"/>

由于性能问题,我不想添加其他线性布局。

答案 2 :(得分:-4)

删除android:targetSdkVersion="18"并运行。