我有一個Gallery
並想知道屏幕上有多少物品可見。每個項目佔用全屏幕,所以我真的很感興趣知道何時兩個項目因中間滾動而可見。謝謝。如何獲取圖庫中可見視圖的數量?
1
A
回答
0
好的,我們走吧!擴展您的Gallery
獲取訪問的
protected boolean getChildStaticTransformation(View child, Transformation t) {}
在那裏,您可以訪問你的圖片庫中顯示每個視圖。 從現在開始你可以做2件事。
- 計數所有獨特孩子的(
getChildStaticTransformation
可以稱爲例如觸摸事件等,之所以獨特的兒童的檢測的IS必須多次)。 注意,此方法返回由圖庫填充的子元素。性能問題中,畫廊填充了頂部1和底部+ 1個孩子。有時是+2 -2或+ n -n(取決於子寬度,原因是水平滾動小部件)。這樣,可能不是你需要的原因並不總是準確的顯示在畫廊上的孩子。 - 對於每個孩子,檢查.getLeft和.getRight是否位於畫廊邊界內。因此,如果孩子的getLeft位於畫廊內部,並且其他孩子的getRight也位於畫廊中,則您處於中間滾動狀態。 這是你需要的。
- 如果你(在一次只能顯示一個)FILL_PARENT孩子,那麼你可以看到,如果畫廊滾動flinging.Then你是在滾動中旬至畫廊「推出」的setOnItemSelectedListener() 。爲了這個工作,你必須設置CallbackDuringFling(true);
+0
您的回答引導我走向正確的方向。由於我只有1個視圖可見,2箇中間滾動時,我可以使用'getChildCount()',如果它是2則滾動,否則它是1.謝謝! –
+0
關於方法#2,我認爲它被稱爲太多次了,並且檢查使可見項目計數器變爲負值。也許檢查是不正確的:boolean isVisible = right> = 0 && right
0
我能想到的最好的是設置AnimationListener您的畫廊是這樣的:
gallery.setLayoutAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
//schedule timer to execute halfway through animation here
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
}
});
並設置有gallery.setAnimationDuration(durationInMilliseconds)動畫持續時間;
現在你知道什麼時候動畫開始,你知道需要多長時間。有了這些信息,您可以安排計時器在動畫中途執行代碼,這應該是您的圖庫同時顯示兩個視圖時。
雖然這似乎是一個非常困難的方法,所以給別人時間提供更好的建議。
相關問題
- 1. 如何獲取Android圖庫中可見視圖的索引?
- 2. 如何獲取網格視圖中可見行的數量?
- 3. 在pageController中獲取可見視圖
- 4. 獲取視圖的可見區域
- 5. 獲取視圖的可見高度
- 6. Android - 獲取視圖的可見區域?
- 7. 如何獲取可見滾動視圖中的按鈕位置?
- 8. 在某個點獲取可見視圖
- 9. MODX圖庫:如何獲取文件夾中的圖像數量?
- 10. 透視圖中可見的視圖
- 11. 獲取數據庫視圖
- 12. 如何從Android ListView獲取第一個可見視圖
- 13. 僅從視圖的可見部分獲取位圖
- 14. 如何使用編程可見或不可見的XML項目(文本視圖,圖像視圖,視頻視圖)
- 15. 如何從數據庫中獲取視圖的行數?
- 16. 如何在列表視圖中獲取圖庫圖像?
- 17. 如何在圖庫視圖中從選定圖像獲取圖像數據?
- 18. 如何獲得Recyclerview中項目視圖的可見性?
- 19. 如何更改視圖的可見性?
- 20. iOS SDK:如何獲取不可見的表格視圖中的單元格?
- 21. 如何從數據庫中獲取數據到列表視圖
- 22. 視圖中不可見
- 23. 如何從Cross Slide圖庫的數據庫中獲取圖像?
- 24. 如何獲取Google Youtube API中的視圖數量?
- 25. 如何從列表視圖中獲取列表項的數量?
- 26. 如何使application_controller.rb中的函數在視圖中可見?
- 27. 如何在Xamarin中的頁面視圖控制器中獲取當前可見視圖控制器.IOS
- 28. 如何從視圖類獲取視圖?
- 29. 如何在iPhone中獲取可見地圖的區域
- 30. Android測量視圖可見區域
我不知道這是否可能 - 從未聽說過 – Jack