2011-09-20 74 views
4

我有一个列表,列表中的每行有文字。一些文字延伸到屏幕边缘之外。我没有问题使它截断文本并显示省略号。我有没有问题,“褪色的文字边缘”然而,褪色发生在每一个文字的边缘,而不仅仅是那些的是TextView的太大。我已经搜查,搜查,并不能找到一个办法,从本质上讲,做正是什么省略号做,但,而不是椭圆,褪色的文字的边缘,如果它要关闭屏幕的边缘。任何人都可以帮忙吗?仅供参考,现在,我的文字视图包含:如何用android sdk中的textview中的淡入/淡出边缘替换椭圆?

android:fadingEdge="horizontal" 
android:inputType="text" 
android:maxLines="1" 

但是,很明显,我已经尝试了许多其他的东西没有用...:_(

+0

P.S.只是意识到,当我使用这3个字段(水平,文本,1)时,我无法为任何原因实际选择一个列表项目。只是想我会指出这一点。 – fatfreddyscat

回答

4

要启用字幕和simulateouly不影响列表选择只需使用下列内容:

在代码中只使用在该文本视图两种方法

textViewObj.setSelected(true); 
textViewObj.setEllipsize(TextUtils.TruncateAt.MARQUEE); 
+0

我没有访问代码的文本视图,但是,我设置在布局XML文件中的ellipsize和它的工作。谢谢!!! (我认为我做了它之前,但由于某些原因,我只是认为,设置“ellipsize”意味着我将有省略号,但显然不是:-)再次感谢! – fatfreddyscat

+0

p.s.不幸的是,我没有足够的信誉来“投票”或接受你的回应,因此将取决于其他人这样做。 – fatfreddyscat

+0

没有办法,,谢谢回复.. –

2

具体方法调用,使水平边缘淡出(在右手侧)。

setHorizontalFadingEdgeEnabled(true) 

下面是在我的类ScrollTextView构造,其延伸的TextView一个例子:

public ScrollTextView(Context context, AttributeSet attrs) { 
    this(context, attrs, android.R.attr.textViewStyle); 
    setHorizontalFadingEdgeEnabled(true); 
}