Lint 是一個 Android SDK 內建的靜態分析工具,放在 SDK 的 tools 資料夾底下,如果已經將編譯工具轉換至 Gradle 後,每次編譯皆會自動執行 Lint 來檢查專案的安全性、效能等潛在問題。
繼續閱讀
讓動畫效果可以不被外層範圍限制
ViewGroup 可以使用 setClipChildren(false)
或在有設置 padding 的時候搭配 setClipPadding(false)
讓動畫 (例如縮放效果) 不會因為外層 (parent view) 範圍的大小被切割遮蔽
RecyclerView
在 android-support-v7-21 版本中,新增了一個 RecyclerView widget,官方說明 RecyclerView 是進階版的 ListView,使用上比 ListView 更加靈活。
RecyclerView 的使用上和 ListView 差不多,但 RecyclerView 使用 LayoutManager 來設定版面的排版方式(例如: 直向、橫向…等等),使用方式如下:
RemoteView with OOM
之前在解 OOM 的問題時,看到在 Notification 中有物件沒被 recycle 的情形,後來查資料以後,發現是因為重複使用 RemoteView 所產生的。
繼續閱讀
Android 5.0 Notification
在 Android 5.0 的 Notification 最大的不同就是在 LockScreen 也可以顯示,且依照設定的不同可以有不同的顯示方式,主要有三種顯示方式: Public, Private, Secret,Public 是訊息完全不隱藏,在 LockScreen 也可看到 Notification 的全部訊息;Secret 是完全隱藏,在 LockScreen 不顯示;而比較好玩的則是 Private,可以自訂在 LockScreen 時要顯示的 Notification,設定方法如下:
new GCM
最近在看新版的 GCM,有發現個比較不一樣的東西,新版的 GCM 多了 Cloud Connection Server(CCS),跟之前的 Http Server 比起來,多了可以接收 Client 傳的訊息的功能。
在 google play services lib 中有一個 GoogleCloudMessaging class,其中 GoogleCloudMessaging.send() 可以讓 Client 傳訊息給 Server,而依傳入的參數,又分為二種:
Code Snippet in Android Studio
在使用 Android Studio 撰寫程式時,很常輸入 inn 再加上 tab 來產生 if (obj != null) 的程式碼區段,這種程式碼片段是可以自行建立的,在 Android Studio 的 Preference / IDE Settings / Live Templates 中可以看到全部的 Code Snippets 與加入新的 Snippet。
[Android] 如何讓 WebView 處理 url 參數 target="_blank" 使用外部瀏覽器開啟
當我們瀏覽器點擊帶有參數 target="_blank" 的 url 時,代表預期該網頁要在新的視窗被開啟。如果是在 Android 的 WebView 中,我們該如何做到只針對指定開啟新視窗的 url link 呼叫外部瀏覽器呢?
請參考以下做法
繼續閱讀
[Android] 如何做出動畫效果的 actionbar menu item
下面將和大家分享如何將 actionbar 上面的 menu item 做成動畫效果。
首先動畫分成兩種,一種是 frame by frame (多張靜態圖連續播放),另一種是 tweened (對圖片進行縮放、旋轉、透明度漸變等效果)。而讓原本靜態的 menu item 動起來則需要用到 ActionViews
實作 Google map v3 (番外篇)
在「實作 Google map v3 (下)」中 Google Map 使用到了 JavaScriptInterface 傳送坐標位置,但如果今天在包 apk 時是有 proguard 過的,就會發生取不到坐標位置的問題,是因為 method 被混淆了,無法跟 JavaScript 對應到,導致無法取得到參數。