Kho*_*aib 10 android android-ui android-layout
我在android xml文件中使用android:ellipsize ="end",令人惊讶的是我没有得到我想要的布局,3点(...)显示但是在那之后还有另一个字被截断.这也是一个"不总是"的行为,检查附加的ListView,有时,行为是正常的,有时不是.
这是我的设备布局的屏幕截图,
我不知道为什么会这样.这是我的xml文件,有tv_news_content TextView的问题-
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@color/white" >
<ImageView
android:id="@+id/iv_next_tier"
android:layout_width="18dp"
android:layout_height="21dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:src="@drawable/right_arrow" >
</ImageView>
<TextView
android:id="@+id/tv_news_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="7dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:layout_toLeftOf="@+id/iv_next_tier"
android:ellipsize="end"
android:maxLines="2"
android:text="News Title"
android:textColor="@color/black"
android:textSize="17dp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_news_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tv_news_title"
android:layout_below="@+id/tv_news_title"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/iv_next_tier"
android:ellipsize="end"
android:maxLines="2"
android:text="News Contents"
android:textColor="@color/black_light"
android:textSize="15dp" />
<View
android:id="@+id/view"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_below="@+id/tv_news_content"
android:layout_marginTop="5dp" />
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,tv_news_title是最顶级的粗体TextView,而iv_next_tier是右侧的小箭头型ImageView.&tv_news_content是我遇到问题的TextView.
任何解决方案为什么我没有获得所需的输出?期望的输出意味着始终正常的行为 - 我希望在tv_news_content TextView 的第二行末尾有3个点,而不是在截断的单词之前.
任何建议表示赞赏.
tab*_*ina 14
终于在我的应用程序中发现了导致此问题的原因!!
虽然RuAware的回答让我走上了正确的道路,但我发现它并没有解决我所有文本块的问题.鉴于它对一些人有用,我觉得这显然是由于一些恶意的特征.所以我经历了一个破碎的文本块,刚开始删除字符,直到它停止破坏.
事实证明,这'\n'
是导致它的新线条角色.即使新行在ellipsize之后,新行字符[不一致]导致此问题,只要它在字符串中的某个位置即可.
在将文本设置为视图之前,通过执行与以下类似的操作来解决此问题:
text = text.replace('\n',' ');
Run Code Online (Sandbox Code Playgroud)
设置文本视图的文本时,请确保文本不超过 750 个字符,因此在调用 settext 之前使用 txt = theText.substring(0, 750) 或类似的内容。这适用于带有您的提要的模拟器。对于 10 英寸平板电脑来说应该足够了
归档时间: |
|
查看次数: |
6063 次 |
最近记录: |