2015-09-03 200 views
1

我想複製Android上的iOS相機滾筒滑塊。 功能將顯示固定數量的縮略圖,但可以滑動所有圖像。圖片導航滑塊Android

,結果會是這樣:

enter image description here

回答

0

讓兩個佈局:一個用於放置縮略圖視圖在運行時,一個帶有自定義搜索欄。將搜索欄佈局放在縮略圖佈局的頂部。使進度欄透明並使用當前縮略圖作爲搜索欄的大拇指。將查找欄的最大值設置爲頁數 - 1.確保兩個佈局的寬度相同。 的OnSeekBarChangeListener添加到您的搜索欄:

@Override 
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
    // Retrieve the thumbnail for the page 
    // progress = page id, since the max value of the seek bar is restricted to the number of pages 
    Bitmap thumbnail = getThumbnailForPage(int progress) 
    if (thumbnail != null) { 
     seekBar.setThumb(new BitmapDrawable(getResources(), thumbnail)); 
    } 

    // Change the view pager to the page with id = progress 
} 

在運行時創建的頁面縮略圖的ImageViews並將它們添加到縮略圖佈局。您的搜索欄佈局應位於前景中,否則您將無法單擊該欄並且無法檢測到進度變化。

0

你應該結合水平SCROLLVIEW和LINEARLAYOUT和GRIDVIEW來實現你想要的!將網格視圖放在linearlayout中,並將線性佈局放入水平滾動視圖中;

然後當設置適配器!統計數據的數量!之後,您應該計算所需的寬度以顯示您的所有項目!例如你想顯示8項!每個寬度是100dp。所以期望的寬度將是800dp!那麼你應該添加這些代碼行

yourGridView.setNumColumns(8); 
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(800, ViewGroup.LayoutParams.MATCH_PARENT); 
yourGridView.setLayoutParams(lp); 

dnt忘了將線性佈局的寬度設置爲xml中的WRAP_CONTENT!

*重要提示* ,因爲我知道,這樣做,GridView控件不能垃圾收集,因爲滾動查看不支持這樣嵌套在它的事情,你的網格視圖!所以nt使用這種方法大量的圖像,否則你會得到HEAP SIZE錯誤!