From 669ea2210103a84b5f1d500094281f4e211a01ed Mon Sep 17 00:00:00 2001 From: jinyuer <454386664@qq.com> Date: Mon, 19 Apr 2021 17:30:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/GlideRoundTransform.java | 55 +++++++++++++++++++ .../message/MessageAdapter.java | 14 ++++- .../house_property/message/MessageEntity.java | 28 ++++++++++ .../message/MessageFragment.java | 16 ++++++ app/src/main/res/drawable/circle_red.xml | 11 ++++ app/src/main/res/layout/fragment_message.xml | 1 + app/src/main/res/layout/item_message.xml | 43 +++++++++++---- 7 files changed, 154 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/com/sl/house_property/message/GlideRoundTransform.java create mode 100644 app/src/main/res/drawable/circle_red.xml diff --git a/app/src/main/java/com/sl/house_property/message/GlideRoundTransform.java b/app/src/main/java/com/sl/house_property/message/GlideRoundTransform.java new file mode 100644 index 0000000..cb0da11 --- /dev/null +++ b/app/src/main/java/com/sl/house_property/message/GlideRoundTransform.java @@ -0,0 +1,55 @@ +package com.sl.house_property.message; + +import android.graphics.Bitmap; +import android.graphics.BitmapShader; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.RectF; +import android.graphics.Shader; +import android.support.annotation.NonNull; + +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; +import com.bumptech.glide.load.resource.bitmap.TransformationUtils; + +import org.jetbrains.annotations.NotNull; + +import java.security.MessageDigest; + +public class GlideRoundTransform extends BitmapTransformation { + + private int dp; + + public GlideRoundTransform(int dp) { + this.dp = dp; + } + + @Override + protected Bitmap transform(@NonNull @NotNull BitmapPool bitmapPool, @NonNull @NotNull Bitmap bitmap, int outWidth, int outHeight) { + Bitmap bitmap1 = TransformationUtils.centerCrop(bitmapPool, bitmap, outWidth, outHeight); + return roundCrop(bitmapPool, bitmap1); + + } + + private Bitmap roundCrop(BitmapPool pool, Bitmap source) { + + if (source == null) return null; + Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); + if (result == null) { + result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); + } + + Canvas canvas = new Canvas(result); + Paint paint = new Paint(); + paint.setShader(new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP)); + paint.setAntiAlias(true); + RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight()); + canvas.drawRoundRect(rectF, dp, dp, paint); + return result; + } + + @Override + public void updateDiskCacheKey(@NonNull @NotNull MessageDigest messageDigest) { + + } +} diff --git a/app/src/main/java/com/sl/house_property/message/MessageAdapter.java b/app/src/main/java/com/sl/house_property/message/MessageAdapter.java index 3f1d016..5aa3151 100644 --- a/app/src/main/java/com/sl/house_property/message/MessageAdapter.java +++ b/app/src/main/java/com/sl/house_property/message/MessageAdapter.java @@ -1,5 +1,6 @@ package com.sl.house_property.message; +import android.view.View; import android.widget.ImageView; import com.bumptech.glide.Glide; @@ -15,9 +16,16 @@ public class MessageAdapter extends BaseQuickAdapterfindViewById(R.id.iv)); - baseViewHolder.setText(R.id.tv_name,messageEntity.getStore_name()); - baseViewHolder.setText(R.id.tv_title,messageEntity.getTitle()); + baseViewHolder.setText(R.id.tv_name, messageEntity.getStore_name()); + baseViewHolder.setText(R.id.tv_title, messageEntity.getTitle()); + baseViewHolder.setText(R.id.tv_time, messageEntity.getCtime()); + if (messageEntity.getIs_dot().equals("1")) { + baseViewHolder.getView(R.id.view).setVisibility(View.VISIBLE); + } else { + baseViewHolder.getView(R.id.view).setVisibility(View.GONE); + } } + } diff --git a/app/src/main/java/com/sl/house_property/message/MessageEntity.java b/app/src/main/java/com/sl/house_property/message/MessageEntity.java index c6ead2b..7763c80 100644 --- a/app/src/main/java/com/sl/house_property/message/MessageEntity.java +++ b/app/src/main/java/com/sl/house_property/message/MessageEntity.java @@ -8,6 +8,15 @@ import java.util.ArrayList; public class MessageEntity { private ArrayList storeInfo; private String userid; + private String Msg_count; + + public String getMsg_count() { + return Msg_count; + } + + public void setMsg_count(String msg_count) { + Msg_count = msg_count; + } public ArrayList getStoreInfo() { return storeInfo; @@ -30,6 +39,25 @@ public class MessageEntity { private String img; private String store_name; private String url; + private String ctime; + private String is_dot; + + public String getCtime() { + return ctime; + } + + public void setCtime(String ctime) { + this.ctime = ctime; + } + + public String getIs_dot() { + return is_dot; + } + + public void setIs_dot(String is_dot) { + this.is_dot = is_dot; + } + public String getTitle() { return title; } diff --git a/app/src/main/java/com/sl/house_property/message/MessageFragment.java b/app/src/main/java/com/sl/house_property/message/MessageFragment.java index 14e4ae1..6171d4b 100644 --- a/app/src/main/java/com/sl/house_property/message/MessageFragment.java +++ b/app/src/main/java/com/sl/house_property/message/MessageFragment.java @@ -10,6 +10,7 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import android.widget.Toast; import com.chad.library.adapter.base.BaseQuickAdapter; @@ -37,6 +38,7 @@ import utils.Md5; public class MessageFragment extends Fragment { // private int pageIndex = 0; private MessageAdapter adapter = null; + private TextView tvTitle; @Nullable @Override @@ -57,6 +59,7 @@ public class MessageFragment extends Fragment { public void onViewCreated(@NonNull @NotNull View view, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); RecyclerView rv = view.findViewById(R.id.rv); + tvTitle = view.findViewById(R.id.tv_title); adapter = new MessageAdapter(); rv.setAdapter(adapter); rv.setLayoutManager(new LinearLayoutManager(getContext())); @@ -66,6 +69,12 @@ public class MessageFragment extends Fragment { WebActivitytwo.runActivity(getContext(), adapter.getData().get(i).getTitle(), adapter.getData().get(i).getUrl()); } }); + + } + + @Override + public void onResume() { + super.onResume(); getData(); } @@ -97,6 +106,13 @@ public class MessageFragment extends Fragment { MessageEntity messageEntity = gs.fromJson(s, MessageEntity.class); + int i = Integer.parseInt(messageEntity.getMsg_count()); + if (i > 0) { + tvTitle.setText("消息(" + i + ")"); + + } else { + tvTitle.setText("消息"); + } adapter.setNewData(messageEntity.getStoreInfo()); } diff --git a/app/src/main/res/drawable/circle_red.xml b/app/src/main/res/drawable/circle_red.xml new file mode 100644 index 0000000..d038667 --- /dev/null +++ b/app/src/main/res/drawable/circle_red.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml index 095ec76..6ddacb9 100644 --- a/app/src/main/res/layout/fragment_message.xml +++ b/app/src/main/res/layout/fragment_message.xml @@ -12,6 +12,7 @@ android:layout_marginTop="@dimen/mystatusbar"> - + android:src="@color/black" /> + + + + + -