设置圆形图片
来源:互联网 发布:为此网络fips 编辑:程序博客网 时间:2024/05/16 08:36
1.圆形图片布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.bwei.jishixiong.makingfriends4.Base.activity.CircularImage android:id="@+id/icon" android:layout_width="35dp" android:layout_height="35dp" android:layout_marginTop="5dp" android:scaleType="centerCrop" android:src="@drawable/ll_img2" /></LinearLayout>
2.CircularImage类
package com.bwei.jishixiong.makingfriends4.Base.activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.RectF;import android.util.AttributeSet;public class CircularImage extends MaskedImage { public CircularImage(Context paramContext) { super(paramContext); } public CircularImage(Context paramContext, AttributeSet paramAttributeSet) { super(paramContext, paramAttributeSet); } public CircularImage(Context paramContext, AttributeSet paramAttributeSet, int paramInt) { super(paramContext, paramAttributeSet, paramInt); } public Bitmap createMask() { int i = getWidth(); int j = getHeight(); Bitmap.Config localConfig = Bitmap.Config.ARGB_8888; Bitmap localBitmap = Bitmap.createBitmap(i, j, localConfig); Canvas localCanvas = new Canvas(localBitmap); Paint localPaint = new Paint(1); localPaint.setColor(-16777216); float f1 = getWidth(); float f2 = getHeight(); RectF localRectF = new RectF(0.0F, 0.0F, f1, f2); localCanvas.drawOval(localRectF, localPaint); return localBitmap; } }
3.MaskedImage类
package com.bwei.jishixiong.makingfriends4.Base.activity;//com.bwie.text.RoundCornerIimport android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.Xfermode;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.ImageView;public abstract class MaskedImage extends ImageView { private static final Xfermode MASK_XFERMODE; private Bitmap mask; private Paint paint; static { PorterDuff.Mode localMode = PorterDuff.Mode.DST_IN; MASK_XFERMODE = new PorterDuffXfermode(localMode); } public MaskedImage(Context paramContext) { super(paramContext); } public MaskedImage(Context paramContext, AttributeSet paramAttributeSet) { super(paramContext, paramAttributeSet); } public MaskedImage(Context paramContext, AttributeSet paramAttributeSet, int paramInt) { super(paramContext, paramAttributeSet, paramInt); } public abstract Bitmap createMask(); @SuppressLint("DrawAllocation") protected void onDraw(Canvas paramCanvas) { Drawable localDrawable = getDrawable(); if (localDrawable == null) return; try { if (this.paint == null) { Paint localPaint1 = new Paint(); this.paint = localPaint1; this.paint.setFilterBitmap(false); Paint localPaint2 = this.paint; Xfermode localXfermode1 = MASK_XFERMODE; @SuppressWarnings("unused") Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1); } float f1 = getWidth(); float f2 = getHeight(); int i = paramCanvas.saveLayer(0.0F, 0.0F, f1, f2, null, 31); int j = getWidth(); int k = getHeight(); localDrawable.setBounds(0, 0, j, k); localDrawable.draw(paramCanvas); if ((this.mask == null) || (this.mask.isRecycled())) { Bitmap localBitmap1 = createMask(); this.mask = localBitmap1; } Bitmap localBitmap2 = this.mask; Paint localPaint3 = this.paint; paramCanvas.drawBitmap(localBitmap2, 0.0F, 0.0F, localPaint3); paramCanvas.restoreToCount(i); return; } catch (Exception localException) { StringBuilder localStringBuilder = new StringBuilder() .append("Attempting to draw with recycled bitmap. View ID = "); System.out.println("localStringBuilder=="+localStringBuilder); } } }
4.适配器类
package com.bwei.jishixiong.makingfriends4.Base.adapter;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import com.bwei.jishixiong.makingfriends4.Base.bean.Reward;import com.bwei.jishixiong.makingfriends4.R;import java.util.ArrayList;import java.util.List;/** * Created by jishixiong on 2016/5/17. */public class MyFindLivingGridViewAdapter extends BaseAdapter { List<Reward> nlist = new ArrayList<Reward>(); Context context; int count; public MyFindLivingGridViewAdapter(Context context) { super(); this.context=context; } public void addrest(List<Reward> nlist){ this.nlist.clear(); this.nlist.addAll(nlist); this.notifyDataSetChanged(); } @Override public int getCount() { return nlist.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { VoidHolder holder; if(convertView==null){ holder=new VoidHolder(); convertView=View.inflate(context, R.layout.find_listview_livingarea_gridview_item,null); holder.icon=(ImageView) convertView.findViewById(R.id.icon); convertView.setTag(holder); }else{ holder = (VoidHolder) convertView.getTag(); } holder.icon.setImageResource(R.drawable.ll_img2); return convertView; } class VoidHolder{ ImageView icon; }}
1 0
- ImageLodar设置圆形图片
- 设置圆形图片
- Picasso 设置圆形图片
- 设置圆形图片
- Picasso设置圆形图片
- IOS SWIFT 设置图片圆形
- ios设置图片为圆形
- android中设置圆形图片
- iOS 设置圆形图片、圆角图片
- iOS-方形图片设置成圆形图片
- iOS 设置圆形图片、圆角图片
- 设置圆角图片或者圆形图片
- Android:设置圆形头像,Android截取圆形图片
- 设置圆形的图片 代码方法
- Android自定义设置圆形图片控件
- Android自定义圆形图片,设置边框
- html5设置圆形图片2种方法
- iOS设置圆角及圆形图片
- listview嵌套gridview无法点击
- 科学摆放鼠标可以预防鼠标手
- ZooKeeper示例 分布式锁
- nexus6p如何跳过"正在检查网络连接"?
- Ajax局部页面刷新和history
- 设置圆形图片
- rpm 打包原理及 .spec文件
- 学习hadoop
- Android 采用HttpClient的POST方式、GET方式分别实现登陆案例
- Android Drawable Resources系列9:<scale>
- Handler消息传递机制
- 欢迎使用CSDN-markdown编辑器
- iOS常用代码总结(一)
- Wonderware配置-Historian教程 3