java - Android sdk 18 TextView 重力不能垂直工作

标签 java android textview

我对 SDK 18 有疑问。 我的 TextView 的重力在垂直方向上不起作用。但它与 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 的黑色背景 android:background="#000000"

sdk 18 with black background

如果有人有想法。 我尝试用 match_parent 更改 wrap_content。

唯一有用的是 android:layout_height="@dimen/entete.size.h"在 TextView 上,但边距不适用。 目前我将该项目留给 SDK 17。

最佳答案

问题是 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 更好。

关于java - Android sdk 18 TextView 重力不能垂直工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239547/

相关文章:

Android:来自资源的 getString() 会丢失字符串中的所有标签

java - 向 Android TextView 添加不透明的 "shadow"(轮廓)

Android ImageGetter 图像重叠文本

java - 使用迭代器将元素交换到链表的顶部

java - Hibernate 映射类实体名称

java - 从日志文件中读取 1 TB 的数据

java - Spring 4框架编译错误

java - 我该如何修复 'android.os.NetworkOnMainThreadException' ?

android - 持久存储 AIR for Mobile

android - 使用 URL 用屏幕宽度的图像填充 TextView