From aced86c00b8c8a031ed43a3aabfb3355e2aef98b Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 19 四月 2017 10:24:53 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java | 64 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 11 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java index 596e41c..c28e6fb 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java @@ -1,15 +1,25 @@ package cn.com.basic.face.widget.checkin; 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.Rect; import android.net.Uri; import android.util.AttributeSet; import android.view.LayoutInflater; +import android.view.Surface; +import android.view.SurfaceView; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.bsk.zhangbo.demoforbsk.R; +import com.facebook.imagepipeline.request.ImageRequest; +import com.facebook.imagepipeline.request.ImageRequestBuilder; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; @@ -19,6 +29,20 @@ import cn.com.basic.face.util.AppApi; public class CheckInRightVisitorCell extends LinearLayout{ + + @ViewInject(R.id.fragment_check_in_right_visitor_cell_name) + private TextView fragment_check_in_right_visitor_cell_name; + @ViewInject(R.id.fragment_check_in_right_visitor_cell_company_name) + private TextView fragment_check_in_right_visitor_cell_company_name; + @ViewInject(R.id.fragment_check_in_right_visitor_cell_identity_number) + private TextView fragment_check_in_right_visitor_cell_identity_number; + @ViewInject(R.id.fragment_check_in_right_visitor_cell_photo) + private ImageView fragment_check_in_right_visitor_cell_photo; + @ViewInject(R.id.fragment_check_in_right_visitor_cell_mobile_phone) + private TextView fragment_check_in_right_visitor_cell_mobile_phone; + @ViewInject(R.id.fragment_check_in_right_visitor_cell_photo_placeholder) + private TextView fragment_check_in_right_visitor_cell_photo_placeholder; + private CheckInQueryItem item; public CheckInRightVisitorCell(Context context) { @@ -33,17 +57,6 @@ ViewUtils.inject(this, view); } - @ViewInject(R.id.fragment_check_in_right_visitor_cell_name) - private TextView fragment_check_in_right_visitor_cell_name; - @ViewInject(R.id.fragment_check_in_right_visitor_cell_company_name) - private TextView fragment_check_in_right_visitor_cell_company_name; - @ViewInject(R.id.fragment_check_in_right_visitor_cell_identity_number) - private TextView fragment_check_in_right_visitor_cell_identity_number; - @ViewInject(R.id.fragment_check_in_right_visitor_cell_photo) - private ImageView fragment_check_in_right_visitor_cell_photo; - @ViewInject(R.id.fragment_check_in_right_visitor_cell_mobile_phone) - private TextView fragment_check_in_right_visitor_cell_mobile_phone; - public void setVisitorInfo(CheckInQueryItem item) { this.item = item; fragment_check_in_right_visitor_cell_name.setText(item.getUsername()); @@ -51,6 +64,35 @@ fragment_check_in_right_visitor_cell_identity_number.setText(item.getIdentifyNum()); fragment_check_in_right_visitor_cell_mobile_phone.setText(item.getMobilePhone()); fragment_check_in_right_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getImagePath())); + if (item.getImagePath() != null && !item.getImagePath().equals("")) { + fragment_check_in_right_visitor_cell_photo_placeholder.setVisibility(INVISIBLE); + } else { + fragment_check_in_right_visitor_cell_photo_placeholder.setVisibility(VISIBLE); + } + } + + public Bitmap getCroppedBitmap(Bitmap bitmap) { + Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), + bitmap.getHeight(), Bitmap.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()); + + paint.setAntiAlias(true); + canvas.drawARGB(0, 0, 0, 0); + paint.setColor(color); + canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, + bitmap.getWidth() / 2, paint); + paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); + canvas.drawBitmap(bitmap, rect, rect, paint); + return output; + } + + public void setPhoto(Bitmap photo) { + fragment_check_in_right_visitor_cell_photo.setImageBitmap(getCroppedBitmap(photo)); + fragment_check_in_right_visitor_cell_photo_placeholder.setVisibility(INVISIBLE); } public CheckInQueryItem getVisitor() { -- Gitblit v1.8.0