編輯:關於Android編程
看了,上面轉載的博客,其實核心思路代碼只有一個難知識點:
Android中Canvas繪圖之Shader的使用。
那麼,下面我們就來講講Canvas繪圖之Shader的使用。
下面我們再回過來對代碼進行講解(只講難點):
怎麼畫出3分之一個星星:
經過一系列的實驗,發現Drawable對象沒有能指定繪制需要的部分,也就是不能繪制半顆星星(反正找不到,找到可以評論告訴我),然後就采用了折中的方法,把Drawable對象變為Bitmap這樣就好辦了,再利用BitmapShader,想繪制多少就繪制多上(就是實現0.1步進),下面為1/3顆的效果:
private Bitmap drawableToBitmap(Drawable drawable)
{
if (drawable == null)return null;
Bitmap bitmap = Bitmap.createBitmap(starSize, starSize, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, starSize, starSize);
drawable.draw(canvas);
return bitmap;
}
把Bitmap轉換為畫筆繪制:
paint = new Paint();
paint.setAntiAlias(true);
paint.setShader(new BitmapShader(starFillBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
在ondraw()方法繪制(三分之一個)
canvas.drawRect(0,0,starSize/3,starSize,paint);
概述本篇博客是對developer.android.com/上的Training課程的簡單翻譯,若是覺得翻譯出來的理解有困難,請點擊下方鏈接查看原文!關於DrawerLa
Android動畫效果一直是人家中十分重要的一部分,從早期的Android版本中,由於動畫機制和繪圖機制的不健全,Android的人機交互備受诟病,Android從4.X
#####################################################################################
年Google發布了新的工具鏈 - Jack(Java Android 編譯工具)和Jill(Jack中間庫鏈接器),它們用於替換存在的javac+dx工具集。本文我將試