2011-04-12 80 views
2

我有一个问题。我需要突出显示图库中的选定项目。我试图改变所选视图的外观通过这种方法:如何突出显示画廊中当前选定的项目?

@Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) 

这种观点的第二个参数是当前选择的视图,我想在这种情况下,增加了文本的大小。然而,这不起作用,即使我在选定的项目或整个图库中调用无效。

这是我用来改变TextView的文本大小

TextView textview = (TextView)view;    
textview.setTextSize(50, TypedValue.COMPLEX_UNIT_SP); 
textview.invalidate(); 

你知道如何做到这一点的代码?谢谢

回答

0

尝试StateListDrawable - 看起来适合你的情况。

更新:您已颠倒setTextSize中的参数。它应该是:

textview.setTextSize(TypedValue.COMPLEX_UNIT_SP, 50); 
+0

嗨Rajath,是的,似乎我需要定义一个StateListDrawable。类似于这个已经有了答案的其他问题http://stackoverflow.com/questions/3237566/text-gallery-on-android。谢谢你的帮助。 – lblasa 2011-04-12 09:33:01

+0

我不确定如何使用选择器设置更大的文字。因为选择器似乎与drawables一起工作,在我的情况下,我只想增加文本的大小。 – lblasa 2011-04-12 09:35:25

+0

如果您的目的只是突出显示选定的项目,为什么选择文本大小会比使用StateListDrawable增加? – rajath 2011-04-12 09:50:44

8

你执行工作,但一旦项目变成未选择不文本大小恢复正常 - 文本保持较大规模。

这应该修复它:

private View lastview; 

@Override 
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, 
     long arg3) { 

    if (lastview != null) lastview.setBackgroundColor(0xFFFFFFFF); 
    lastview = arg1; 
    arg1.setBackgroundColor(0xFFFF0000); 

} 

您可以设置文字大小,而不是颜色,或做任何你想做到它的风格。

+1

非常好的答案+1给你:) – 2013-04-16 12:27:11

相关问题