2013-01-21 67 views
0

我已經開發了需要自定義列表視圖的應用程序...安卓列表視圖和靜態選定位置

列表視圖應該像某種垂直畫廊一樣行事。 圖庫中選定的項目始終位於中心。

在我的應用程序中,我只使用導航鍵或遙控器。 所以沒有一蹴而就的或正常的滾動效果。

我需要例如列表中的第二個元素總是被選中。 如果我想向上移動,所有元素都會滾動一個位置,並且必須更改所選項目,但是會像上一個選定項目一樣在屏幕上的相同位置進行更改。

就像畫廊只是垂直一樣。

有沒有簡單的方法來做到這一點? 是否有垂直畫廊實施? 我怎樣才能使畫廊小部件垂直? 或者如何自定義列表視圖的行爲呢?

Tnx!

+0

我想你應該檢查sony xperia的Timescape-UI源代碼。 – Pankaj

回答

0

我已經使用ListView項目上的setSelected()方法管理了這個...並管理了關鍵監聽器。 沒有找到更聰明的方式來處理這個問題。

2

試穿的ListView

ListView listView1=(ListView) findViewById(R.id.listView1); 

設置的onClick監聽然後implemt一類類SearchItemClickListener實現OnItemClickListener

,並設置listview.onItemClickListenr你會得到立場和觀點。

 Hope this helps 
0

您可以通過使用獲得當前的可見光第一現在的位置,

mListView.getFirstVisiblePosition(); 

獲取當前可見的位置和相應的數據之後,您就可以執行所需的任務(即獲得後顯示大圖縮略圖或類似的東西)。

OR

如果你不想只依賴於第一個或最後一個位置,要選擇一些其他的可見行,那麼你可以做這樣的事情,

public View getView(int position, View convertView, ViewGroup parent) 
    { 

     int visiblePosition = position % nObjects; // nObjects if the total number of objects to display 

     if(visiblePosition == yourDesiredPosition){ 

     // do your custom work here. 

     } 

    } 

這裏演示vertical slide show,

希望這會給你一些關於實現你的功能的提示。