我正在尝试将漫游添加到listview中的textview中,但它无效。
请参阅下面的xml定义。
在这种情况下,它不会出现在模拟器或设备上:
?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:focusable="true">
<ImageView android:id="@+id/imageview" android:layout_width="30dip"
android:layout_height="30dip" android:layout_centerVertical="true"
android:layout_alignParentLeft="true" android:src="@drawable/about"
android:layout_margin="8dip"/>
<TextView android:id="@+id/title" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_toRightOf="@+id/imageview"
android:textStyle="bold" android:textColor="#000000"
android:textSize="15sp" android:lines="1"
android:ellipsize="marquee" android:inputType="text"
android:marqueeRepeatLimit="3"
android:layout_marginRight="15dip"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/delete">
</TextView>
<ImageButton android:id="@+id/delete" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_centerVertical="true"
android:layout_alignParentRight="true" android:layout_marginRight="0dip"
android:layout_margin="5dip" android:src="@drawable/delete_icon"
/>
</RelativeLayout>
在这种情况下,它会在模拟器上出现,而不是在设备上出现:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_alignParentLeft="true"/>
<TextView android:id="@+id/title" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_toRightOf="@+id/imageview"
android:textStyle="bold" android:textColor="#000000"
android:layout_marginLeft="10dip" android:layout_marginRight="10dip"
android:textSize="15sp" android:cacheColorHint="#00000000">
</TextView>
<TextView android:id="@+id/shortdesc" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_below="@+id/title"
android:layout_toRightOf="@+id/imageview"
android:textSize="15sp"
android:lines="2" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever"
android:layout_marginLeft="10dip" android:layout_marginRight="20dip"
android:textColor="#413839" android:cacheColorHint="#00000000">
</TextView>
</RelativeLayout>
请帮忙,感谢您的投入和时间
解决方案 对于第一个,请参阅下面的我的通讯
对于第二个,我不得不用结束
替换marquee<TextView android:id="@+id/shortdesc" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_below="@+id/title"
android:layout_toRightOf="@+id/imageview"
android:textSize="15sp"
android:maxLines="2" android:ellipsize="end"
android:layout_marginLeft="10dip" android:layout_marginRight="30dip"
android:textColor="#413839" android:cacheColorHint="#00000000"
android:text="asdfghjmsbvhsfadk vcdfkhreouhjkjfdgdslkfdn bfoiunbf m,cvbkjnfgb kj nbcdjfkdleoig;dkf nmvnb safdsfrtgdfgdfhg">
</TextView>
答案 0 :(得分:2)
如果它不在listview中工作,试图首先将ellipsized textview显示为独立视图listview,有时候会使事情复杂化。并尝试使用属性“singleLine = false”
还有have a look at this question:许多与椭圆大小调整textview相关的信息。
更新:我的textview在我的应用中完美运行
<TextView
android:id="@+id/product_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/img_disclosure"
android:layout_marginTop="5dip"
android:layout_marginRight="5dip"
android:ellipsize="marquee"
android:text="this is the sample text to test the ellipsize effect of text view"
android:textColor="@color/results_sep_color"
android:textSize="15sp"
android:textStyle="bold"
android:singleLine="false"
android:maxLines="2"/>
第二次更新:
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Don't have an account sdsadfsf asdfsdfdsdd abracadabra"
/>
答案 1 :(得分:0)
无需设置android:scrollHorizontally
和android:lines
等属性,
只需设置android:singleLine="true"
和android:ellipsize="marquee"
即可。
public void setSingleLine(boolean singleLine) {
// Could be used, but may break backward compatibility.
// if (mSingleLine == singleLine) return;
setInputTypeSingleLine(singleLine);
applySingleLine(singleLine, true, true);
}
private void applySingleLine(boolean singleLine, boolean applyTransformation,
boolean changeMaxLines) {
mSingleLine = singleLine;
if (singleLine) {
setLines(1);
setHorizontallyScrolling(true);
if (applyTransformation) {
setTransformationMethod(SingleLineTransformationMethod.getInstance());
}
} else {
if (changeMaxLines) {
setMaxLines(Integer.MAX_VALUE);
}
setHorizontallyScrolling(false);
if (applyTransformation) {
setTransformationMethod(null);
}
}
}
android.widget.TextView
代码段(自1.5_r4起)。