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