三星设备上缺少 Android TextView 文本

标签 android textview

我在 Play 商店中有一个应用程序。我的一些用户报告说他们看不到标签。问题似乎只发生在 Android 4.1 及更早版本的三星设备上。我无法在模拟器上重复这个问题。以前有人遇到过这样的事情吗?

enter image description here

TextView 显示为黑框。这些是普通的 TextView 。

<TextView
    android:id="@+id/text_box"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:background="@drawable/phone_list_row_border"
    android:gravity="center_vertical"
    android:maxLines="1"
    android:text="\tBla bla bla"
    android:textColor="@color/black"
    android:textSize="@dimen/list_row_text_size"/>

<TextView
    android:id="@+id/text_eksi"
    style="@style/animating_button_labels"
    android:layout_gravity="center"
    android:layout_marginTop="-10dp"
    android:gravity="center"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:text="@string/eksi_sozluk"
    android:textAppearance="?android:attr/textAppearanceLarge"/>

我找到了 this问题,但这似乎巧合地解决了问题。我被卡住了,因为我无法在我的任何设备上重复这个问题。我需要某种提示来重复错误或找到原因。

谢谢。

编辑: phone_list_row_border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle"
       android:thickness="1dp">

    <stroke
        android:width="2dp"
        android:color="#44aa77"/>

    <corners android:radius="10dp"/>

    <padding
        android:bottom="5dp"
        android:left="10dp"
        android:right="10dp"
        android:top="5dp"/>
</shape>

另一个在样式中有一个可绘制对象。它的 xml 在这里:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:bottom="-2dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="1dp">
        <shape android:shape="rectangle">
            <stroke
                android:width="1dp"
                android:color="@color/black"/>
        </shape>
    </item>
</layer-list>

最佳答案

Problem seems to happen only on Samsung devices with Android version 4.1 and earlier.

是的,这是某些三星、LG 和 HTC 设备中的已知问题。我有一个拥有良好用户群的应用程序,我自己也遇到过这个问题。

I am stuck as I cannot repeat the problem on any of my devices.

由于您没有提到您已经在哪些设备上进行了测试但无法重现,我不得不假设它们不是那些有问题的特定设备。

这是风格的一个非常小的问题,众所周知,来自某些特定制造商的某些特定设备在某些特定 Android 版本上运行会出现这种情况。

我自己在运行 4.1、4.2 或 4.3 版本的三星、LG 和 HTC 等制造商的某些 Android 设备上遇到过这个问题。到目前为止,从未在 Lollipop 或 Kitkat 上看到过这个。

解决方案

废话少说,现在让我们开始寻找解决方案。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle"
       android:thickness="1dp">

    <stroke
        android:width="2dp"
        android:color="#44aa77"/>

    <corners android:radius="10dp"/>

    <padding
        android:bottom="5dp"
        android:left="10dp"
        android:right="10dp"
        android:top="5dp"/>
</shape>

这是您的形状 xml,对吗?除了您没有为形状提供任何背景之外,所有内容都是正确的。

如果您不提供任何背景,它将默认为黑色。

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:shape="rectangle"
           android:thickness="1dp">

        <stroke
            android:width="2dp"
            android:color="#44aa77"/>

        <corners android:radius="10dp"/>

        <padding
            android:bottom="5dp"
            android:left="10dp"
            android:right="10dp"
            android:top="5dp"/>

    <solid android:color="#ffffff" />
    </shape>

为形状添加纯色应该可以解决这些特定设备中的问题。

测试

我有一个已知会出现这个奇怪问题的设备,我对其进行了测试,它似乎工作得非常好。在更高版本的 Android 上,您永远不应该遇到这个问题,而且大多数情况下,在普通的 Android 上永远不会遇到这个问题。

希望对你有帮助。

关于三星设备上缺少 Android TextView 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715599/

相关文章:

Android textview 大纲文本

Java,android - 请帮助我理解代码

android - 由 : android. util.AndroidRuntimeException 引起:在添加内容之前必须调用 requestFeature() android 异常

EditText 上的 Android 电子邮件验证

android - 手动(aapt)将 native 库.so添加到apk

android - 加载带有动画的文本

android - 如何从 TextView 上的 OnClick 事件在浏览器中启动 URL?

java - Android TextView 计时器

android - 如何在VSC中运行和调试React Native Android应用程序?

android - 我想创建一个关于我的宗教的圣经应用,但是文本很多