Android文本会在某些设备上被剪裁

时间:2014-03-22 12:24:12

标签: android text textview clip

我在一部手机中遇到问题(直到现在)。我的应用使用印地语字体。它在模拟器,标签,许多其他手机上也很好用。但是我用于测试目的的一部手机正在显示文字从侧面切割。

我尝试了几乎所有的东西,以便按正确的顺序排列,但没有任何效果。这里张贴了我的两部测试手机和文字的截图。

错误的屏幕截图:

http://virtualcolors.net/akki/stmd/error.jpg

其他手机的截图:以及预期的手机:

http://virtualcolors.net/akki/stmd/correct.jpg

可能是什么原因,我该如何解决?请让我知道!!

我使用的TextView配置:

<TextView
    android:id="@+id/A_lbl_mandir"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="@string/Abt_mandir"
    android:textAlignment="center"
    android:textColor="#80000A"
    android:textSize="35sp" />

编辑:我的完整活动xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:layout_width="wrap_content"
    android:id="@+id/text"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:text="@string/hello_world" />
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/text" >
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:padding="5sp"
    android:text="@string/test"/>
</ScrollView>

</RelativeLayout>

我试过并删除了很多其他东西,尤其是这款手机。但无法解决问题!

4 个答案:

答案 0 :(得分:6)

这发生在4.1.2中,并记录为谷歌中的一个错误,他们已在4.2中修复。

https://code.google.com/p/android/issues/detail?id=34432

对于Android操作系统无法计算文本长度的unicode字体,会发生这种情况。

答案 1 :(得分:2)

好的,好的!找到另一部同样问题的手机。在那部手机中,文字也被剪裁了。我猜电话有问题。因为即使像Whatsapp这样的热门应用也在该设备上遇到了同样的问题。印地文文字的剪裁方式与上图所示相同。

可能解决该问题的方法:(如果有人知道我正在做的事情。)我意识到浏览器显示了hindi字体。因此,最好在html,javascript上制作本机应用程序,尤其是对于此类设备,并使用WebView查看HTML。应用程序将变得有点慢,但我们必须这样做直到我们遇到实际问题创建它。

请注意:这不是一个解决方案,而是一个解决方案,使这项工作。在印地文中被称为“JUGAAD”。

答案 2 :(得分:1)

试试这个。

<ScrollView
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_below="@id/text" 
android:padding="5dp">
<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="20sp"
  android:gravity="left" 
  android:padding="5sp"
  android:text="@string/test"/>
</ScrollView>

答案 3 :(得分:1)

在某些手机上(特别是在三星手机上),某些自定义字体会被删除(或剪裁)。我有自定义斜体字体。有人说你可以编辑字体来添加某种填充(我无法确认,因为我缺乏编辑字体的知识)但是: - EditText / TextView从xml添加一些填充 - Ellipsize(在某些设备上搞乱这个有助于正确显示文本)

您也可以使用已启用的开发人员选项发布屏幕截图以绘制布局边界,如果以上解决方案无法帮助,这可能有助于解决您的问题