資源簡介
同google+圓形ImageView,同時帶有圓形外邊框,和陰影效果。
代碼片段和文件信息
package?com.leku.welink.ui;
import?android.annotation.SuppressLint;
import?android.content.Context;
import?android.graphics.Bitmap;
import?android.graphics.BitmapShader;
import?android.graphics.Canvas;
import?android.graphics.Color;
import?android.graphics.Paint;
import?android.graphics.Shader;
import?android.graphics.drawable.BitmapDrawable;
import?android.util.AttributeSet;
import?android.widget.ImageView;
@SuppressLint(“NewApi“)
public?class?CircularImageView?extends?ImageView?{
private?int?borderWidth?=?4;
????private?int?viewWidth;
????private?int?viewHeight;
????private?Bitmap?image;
????private?Paint?paint;
????private?Paint?paintBorder;
????private?BitmapShader?shader;
????public?CircularImageView(Context?context)
????{
????????super(context);
????????setup();
????}
????public?CircularImageView(Context?context?AttributeSet?attrs)
????{
????????super(context?attrs);
????????setup();
????}
????public?CircularImageView(Context?context?AttributeSet?attrs?int?defstyle)
????{
????????super(context?attrs?defstyle);
????????setup();
????}
????private?void?setup()
????{
????????//?init?paint
????????paint?=?new?Paint();
????????paint.setAntiAlias(true);
????????paintBorder?=?new?Paint();
????????setBorderColor(Color.WHITE);
????????paintBorder.setAntiAlias(true);
????????this.setlayerType(layer_TYPE_SOFTWARE?paintBorder);
????????paintBorder.setShadowlayer(4.0f?0.0f?2.0f?Color.BLACK);
????}
????public?void?setBorderWidth(int?borderWidth)
????{
????????this.borderWidth?=?borderWidth;
????????this.invalidate();
????}
????public?void?setBorderColor(int?borderColor)
????{
????????if?(paintBorder?!=?null)
????????????paintBorder.setColor(borderColor);
????????this.invalidate();
????}
????private?void?loadBitmap()
????{
????????BitmapDrawable?bitmapDrawable?=?(BitmapDrawable)?this.getDrawable();
????????if?(bitmapDrawable?!=?null)
????????????image?=?bitmapDrawable.getBitmap();
????}
????@SuppressLint(“DrawAllocation“)
????@Override
????public?void?onDraw(Canvas?canvas)
????{
????????//?load?the?bitmap
????????loadBitmap();
????????//?init?shader
??
- 上一篇:一個java做的國際象棋小游戲
- 下一篇:Java學(xué)籍管理系統(tǒng)
評論
共有 條評論