原创 使用ViewPager實現可以自動切換的廣告控件

在android應用開發中,經常會用到Banner控件,作爲一些活動和運營的預留位置,這種Banner控件可以使用ViewPager來實現。 Banner類的實現: public class CommonBannerView exte

原创 詳解Paint的各種set方法

一、前言 我們用set方法來設置畫筆的樣式,類似於我們挑選畫筆畫畫的過程。由於上面有些方法不支持硬件加速,所以在高版本系統中可能會沒有效果。因此,我們首先來看看官方廢棄的方法。 下圖來自: https://developer.and

原创 實現可拖拽item的GridView

之前的工作中,需要實現一個功能就是GridView中的item可以自由拖動, 思考了一下,其實實現起來不是很困難,主要工作就是交換節點,以及拖動時的移動效果,下面講講具體的實現: 首先聲明一個BaseAdapter: package

原创 android實現MIUI的時鐘效果

效果如圖:    中心思想很簡單,就是利用canvas的多圖層,根據每個指針所在的位置將圖層旋轉相應角度的,最終把所有的圖層繪製到canvas上即可 核心代碼: 1.動畫開始時計算每個指針所在位置: @Override

原创 android 實現刮刮樂刮獎效果

在做電商類產品時,經常會有一些活動需求,如抽獎,抽獎的一種方式就是刮刮樂,這次的內容是利用重寫View的方式實現刮刮樂的效果。 思路:利用Bitmap做刮獎區的蒙版,利用paint將手指觸摸過的區域置爲透明,即可顯示最先draw過的文字或

原创 android 實現蒙版引導

實現效果如下圖 實現方法: 1.計算鏤空區域的座標 2.新建一張canvas,繪製半透明蒙版 3.將PorterDuffXfermode設爲Clear 4.繪製鏤空區域到canvas 具體見代碼: 設置要鏤空的view: p

原创 android 中自定義廣播的使用broardcast

    在android系統中,有很多系統級的廣播,如網絡連接變化、鎖屏、充電狀態、日期時間變更等等,但有時候只用系統的廣播很難滿足我們的要求,所以需要用到自定義廣播。     若要實現自定義廣播,大概分爲三個步驟:    1.註冊廣播

原创 android-自定義View解決wrap_content無效的問題

###問題提出 在我們自定義view時,如何需要是當前的view內容自適應,這種平常的使用中,只需要在xml文件中制定寬高或者長高爲wrap_content即可,但是如果該view是我們自定義的,那麼此時再在xml文件中指定寬高爲wra