2011-04-12 98 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

相關問題