2016-02-17 202 views
0

我使用這個How to animate .gif images in an android?解決方案(Shobhit Puri的第一個答案)在我的應用程序中實現一些Gif。現在我想添加一些監聽器(點擊列表器)。 我試過的每一個程序都沒有奏效。在Android的GIF監聽器

的理念是:

  • 的GIF由3圖像製作,當你點擊第一個圖像的GIF將在另外一個變化,等等。

感謝您的關注。

編輯: actualy我試圖在MainActivity這種方式

findViewById(R.id.ivAnimation).setOnClickListener(new View.OnClickListener(){ 
     @Override 
    public void onClick(View v){ 
      Log.i(TAG, "onClickGif PrincipalActivity"); 
     } 
    }); 

上的onCreate()。日誌很好地生成,但我不能去這

+0

'View.setOnClickListener'沒有工作? –

+0

我忘了說, findViewById(R.id.ivAnimation).setOnClickListener(新View.OnClickListener(){ @覆蓋 公共無效的onClick(視圖v){ Log.i(TAG, 「onClickGif PrincipalActivity」) ; } }); 工作,在日誌中,我可以讀取「onClickgif ...」 但我無法做任何事,只能追加這在日誌 –

+0

您需要保存'findViewById(R.id.ivAnimation)'的實例到一個ImageView(或者無論它在你的XML中),以便對視圖對象 –

回答

0

我不確定的gifs,但如果你有單獨的文件,你可以做這樣的事情。

警告:未經測試:)

final int[] imgs = new int[] {R.drawable.img1, R.drawable.img2, R.drawable.img3}; 
int position = 0; 

final ImageView gifView = (ImageView) findViewById(R.id.ivAnimation); 
gifView.setImageResource(imgs[position]); 

gifView.setOnClickListener(new View.OnClickListener(){ 
    @Override 
    public void onClick(View v){ 
     Log.i(TAG, "onClickGif PrincipalActivity"); 
     position = (position + 1) % imgs.length; // wrap around to "restart" gif 
     gifView.setImageResource(imgs[position]); 
    } 
}); 
+0

感謝幫助。通過這段代碼,我可以看到gif一如既往地改變圖像,再加上一個較小的靜態圖像,直到第三個圖像發生變化。 –

+0

我不知道你用什麼View來顯示GIF,但我認爲它會不斷在後臺繪製它並忽略圖像源。您可能需要編輯自定義Gif圖像視圖的來源以允許逐步瀏覽「幀」 –