2012-04-16 53 views
0

我需要實現圖像和按鈕列表。我有6個圖像作爲分隔符和總共14個具有自定義背景的按鈕。該列表具有全屏幕(800×600)背景,分隔圖像爲800×30像素,並且按鈕也具有相似的大小(所有按鈕具有相同的背景圖像)。最重要的是,我需要一個自定義滾動指示器:頂部和底部兩個閃爍的箭頭。根據滾動位置應該顯示或隱藏箭頭。可滾動的按鈕和圖像列表減速

我有一些其他GUI元素,包括使用View.GONE隱藏的GLSurfaceView,因爲列表顯示在其上。

問題是,在Galaxy Nexus或Desire HD等功能相對較強的手機上,此設置運行速度太慢。

我嘗試了兩種不同的方法:

  1. 使用基於本教程一個ListView:http://android.amberfog.com/?p=296
  2. 把所有的按鈕和圖像爲一體的LinearLayout和使用,作爲一個滾動型的孩子。爲了隱藏和顯示的閃爍的箭頭我通過重寫這兩個實施運行速度慢根據實際手機onScrollChanged(Synchronise ScrollView scroll positions - android

確定滾動位置。 ScrollView實現通常更快,但在Desire或Galaxy Nexus上有明顯的滯後,而ListView實現在Desire HD上很慢。

哪個是實現此類列表的最佳方式?你能否告訴我一些關於如何快速實現設備獨立的指導原則?我相信列表中的大約20個圖像和按鈕不應該成爲這些手機的問題。

+0

您使用哪種類型的適配器與ListView? – ChristopheCVB 2012-04-16 22:06:54

+0

我從BaseAdapter繼承自定義適配器。 – hthms 2012-04-17 17:23:05

+0

編輯原始問題以包含GLSurfaceView – hthms 2012-05-01 15:40:57

回答

0

好吧,似乎問題如下: 我有一個GLSurfaceView在同一個活動和列表上方出現。這對於UI線程來說太過分了,儘管列表完全重疊了GLSurfaceView,並且列表出現時呈現已暫停。

我將列表移至不同的活動,現在它具有可接受的速度。但切換到列表比較慢,當我關閉列表時,必須重新加載surfaceview,但這沒關係。