編輯:關於Android編程
本文實例講述了android中圓角圖像生成方法。分享給大家供大家參考。具體分析如下:
在android開發中為了美觀,常常要求ImageView中顯示出圓角圖像的效果,這個如何實現?
這裡總結了網上的最優方法:將圖像處理成圓角,然後在加載給ImageView顯示,代碼如下:
public Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap .getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Paint paint = new Paint(); final Rect rect = new Rect(0,0,bitmap.getWidth(),bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, pixels, pixels, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; }
附上一張效果圖:
這個方法沒有一點問題,但是,如果加載的圖像過大的話,這種方法需要耗時,這樣對於大量的ImageView而言,刷新就會出現卡頓或者閃爍的問題了,如何解決這個問題呢?
我覺得,如果是這樣,那麼我們只能捨棄這種方法,退而求其次,我們夠建兩層ImageView,第一層是原始方角圖像A,第二層是一個特殊的資源圖B,它的大小與原圖一樣,我們假設A按照上面的方法得到的圓角圖像為C,那麼定義圖像T=A-C,然後我們把T改為我們需要的背景顏色,這樣B=T(背景色),最後的效果就是A在下面,B在上面,四個角是圓角效果,方角圖像被覆蓋在了B下面了。這樣做就省去了直接圖像處理所造成的耗時問題。但是,如果是圖像大小較小,數量不大的情況下, 本人還是建議使用第一種方法,畢竟原版的效果好,盜版還是盜版啊呵呵!
希望本文所述對大家的Android程序設計有所幫助。
在PC上我們已經習慣了樹形控件,因為其可以清晰的展現各個節點之間的層次結果,但是在Android平台上,系統並沒有提供這樣一個控件,而是只有ListView。不過通過改寫
demo效果增加數據: 刪除數據 修改數據 SQLite介紹SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對
Android開發的時候經常遇到端口號被占用的問題,經常使程序無法運行,很煩人。我總結了一個很好的方法,非常實用。方法如下: (1):方法1:第一步:1:netstat
1. 第一種,使用 TabHost + ViewPager 實現該方法會有一個Bug,當設置tabHost.setCurrentTab()為0時,ViewPager不顯示