編輯:Android開發實例
今天要實現一個這樣的效果,如下圖:
在首頁按下某個按鈕的時候,出現一個圖片提示用戶當前點擊了此按鈕。
1、首先考慮的是使用getWindowManager().addView的方式,然後交給handler方式.sendEmptyMessageDelayed(30, 3*1000);自身循環一次,getWindowManager().removeView掉此view。後來發現在用戶一直點此按鈕的時候,程序在不停的addView,且在三秒的時候在removeView的時候,程序會崩潰掉。
所以嘗試使用toast方式,不在使用線程方式實現此需求;
因為toast在狂點同一個觸發此toast中show條件的時候,toast反應會比較慢,這是因為toast要等上一個cancel的時候才會show,查看api中cancel方法:
Close the view if it’s showing, or don’t show it if it isn’t showing yet. You do not normally have to call this. Normally view will disappear on its own after the appropriate duration.
大致意思是不用再去判斷這個toast是否處於show狀態,只要執行此方法,toast都處於not show狀態。所以就解決了以上的問題。
2、接下來考慮到使用的是自定義的View,toast中有方法public void setView (View view);
直接setView就可以解決自定義的問題;
3、接下來考慮位置問題,默認toast是在靠近屏幕下方的位置。toast中有方法public void setGravity (int gravity, int xOffset, int yOffset),其中grvity指處在整個屏幕的什麼位置,這裡可以用Gravity.CENTER來設置;xOffset和yOffset分別指的是x軸偏移量和y軸偏移量。這裡我的需求是劇中,所以我都設置的0;
4、然後考慮的是用戶想設置顯示的時間長,很遺憾,toast不能設置具體的現實時間長,只提供了兩個參數來設置時間長,如下是api中說明:
1、JDK:Java Development Kit,java開發工具包。http://www.oracle.com/technetwork/java/javas
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
本章介紹android高級開發中,對於性能方面的處理。主要包括電量,視圖,內存三個性能方面的知識點。 1.視圖性能 (1)Overdraw簡介
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個