2012-04-16 44 views
0

我在我的項目中使用封面流,同時在按鈕單擊時顯示封面流,我顯示彈出窗口。禁用CoverFlow滾動,直到彈出出現

(Android中的Coverflow是一種顯示圖像的風格,通過觸摸滾動顯示圖像,正如我們通常在媒體播放器中看到的一樣,可以選擇;它基於Android Gallery小部件並以相同方式使用, 。ViewAdapter我的編碼這個CoverFlow的窗口小部件時的主要目的是使用標準的Android 2D庫 參考創建易於重複使用的部件: - http://www.inter-fuser.com/2010/01/android-coverflow-widget.html

小號 - 現在會顯示彈出時,我不希望我的CoverFlow到 滾動/觸摸導航ie ie要禁用coverflow直到彈出 顯示

  • 我已經嘗試了下面的所有代碼,但它並沒有幫助完全阻止覆蓋流程 。

     coverFlow.clearFocus(); 
         Popup.setFocusable(true); 
         coverFlow.setClickable(false); 
         coverFlow.setFocusable(false); 
         coverFlow.setEnabled(false); 
         coverFlow.setSelected(false); 
    

    任何人都可以幫我解決這件事嗎?

+0

你需要解釋什麼'CoverFlow'是。會有人看到你的問題,不知道你在說什麼。 – adneal 2012-04-16 06:34:01

+0

做完了希望現在沒關係 – unkown 2012-04-16 06:47:47

+0

@unkown你在哪裏寫下方法?在您的活動或Coverflow類 – Erum 2015-07-01 18:35:57

回答

3

我不知道你正在使用的CoverFlow的源代碼。但你可以定製它。

擴展CoverFlow(我認爲它已經擴展了Gallery),如果不想使用CoverFlow滾動並添加方法來設置此屬性,請覆蓋onTouchEvent和onInterceptTouchEvent方法,並返回false。

的代碼可能看起來像:

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (this.enabled) { 
     return super.onTouchEvent(event); 
    } 

    return false; 
} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent event) { 
    if (this.enabled) { 
     return super.onInterceptTouchEvent(event); 
    } 

    return false; 
} 

public void setScrollEnabled(boolean enabled) { 
    this.enabled = enabled; 
} 

然後就可以設置的CoverFlow滾動或不使用setScrollEnabled方法

+0

,但如果我不擴展庫類我只是使用基本適配器類與簡單的全屏畫廊組件在XML中。 – unkown 2012-04-16 10:00:19

+0

您不需要擴展Gallery Class,因爲CoverFlow已經做到了。你只需要擴展CoverFlow – tsengvn 2012-04-17 03:15:02

+0

@tsengvn我用你的解決方案,但我得到錯誤,一旦我試圖從我的片段類使用從片段fancycoverflow調用此方法.....我已經使我的自定義適配器擴展公共類MapAdapter擴展FancyCoverFlowAdapter {....但這裏是錯誤列表http://pastie.org/10268685 – Erum 2015-07-01 19:09:07