Browse Source

banner changes

new_design
Mohan Shiwakoti 1 year ago
parent
commit
0801072823
  1. 34
      app/src/main/java/com/remit/jmecustomer/features/homeV3/adpaters/BannerViewAdapter.kt
  2. 6
      app/src/main/java/com/remit/jmecustomer/utils/Utils.java
  3. 28
      app/src/main/res/drawable/icon_banner_placeholder.xml

34
app/src/main/java/com/remit/jmecustomer/features/homeV3/adpaters/BannerViewAdapter.kt

@ -2,21 +2,30 @@ package com.remit.jmecustomer.features.homeV3.adpaters
import android.content.Context
import android.content.Intent
import android.graphics.Outline
import android.net.Uri
import android.os.Build
import android.util.DisplayMetrics
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.ViewOutlineProvider
import androidx.annotation.RequiresApi
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
import com.remit.jmecustomer.R
import com.remit.jmecustomer.databinding.BannerItemBinding
import com.remit.jmecustomer.features.beneficiaryDetail.adapters.SendMethodAdapter
import com.remit.jmecustomer.features.home.model.BannerImage
import com.remit.jmecustomer.features.homeV3.models.BannerModel
import com.remit.jmecustomer.features.homeV3.view.HomeActivityV3
import com.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.PaymentMethodV3Model
import com.remit.jmecustomer.utils.Utils
class BannerViewAdapter(
data: List<BannerImage>,
@ -43,9 +52,21 @@ class BannerViewAdapter(
override fun onBindViewHolder(holder: BannerItemViewHolder, position: Int) {
val imageURl: String = data[position].filePath
val displayMetrics = DisplayMetrics()
(mContext as HomeActivityV3).windowManager.defaultDisplay.getMetrics(displayMetrics)
var screenWidth = displayMetrics.widthPixels
if (screenWidth != 0) {
val params: ViewGroup.LayoutParams = holder.bindings.offerItemImgViewParent.layoutParams
val width = screenWidth.toString().split("\\.".toRegex()).toTypedArray()
val height = (width[0].toInt() * 0.4f).toString().split("\\.".toRegex()).toTypedArray()
params.width = width[0].toInt()
params.height = height[0].toInt()
}
Glide.with(mContext!!)
.load(imageURl).diskCacheStrategy(DiskCacheStrategy.ALL)
.transform(CenterCrop(), RoundedCorners(dpToPx(8, mContext!!)))
.placeholder(R.drawable.icon_banner_placeholder)
// .transform(CenterCrop(), RoundedCorners(dpToPx(8, mContext!!)))
.into(holder.bindings.offerItemImgView)
holder.bindings.offerItemImgView.setOnClickListener {
val url = data[position].redirectURL
@ -55,6 +76,17 @@ class BannerViewAdapter(
mContext?.startActivity(intent)
}
}
val curveRadius = 24F
holder.bindings.offerItemImgView.outlineProvider = object : ViewOutlineProvider() {
override fun getOutline(view: View?, outline: Outline?) {
outline?.setRoundRect(0, 0, view!!.width, (view.height).toInt(), curveRadius)
}
}
holder.bindings.offerItemImgView.clipToOutline = true
holder.bindings.offerItemImgViewParent.clipToOutline = true
}

6
app/src/main/java/com/remit/jmecustomer/utils/Utils.java

@ -12,6 +12,7 @@ import android.os.Environment;
import android.provider.MediaStore;
import android.provider.Settings;
import android.util.Base64;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@ -675,4 +676,9 @@ public class Utils {
return MultipartBody.Part.createFormData(key, file.getName() + ".jpeg", idImageRequest);
}
public static int dpToPx(int dp, Context context) {
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}
}

28
app/src/main/res/drawable/icon_banner_placeholder.xml

@ -0,0 +1,28 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="358dp"
android:height="108dp"
android:viewportWidth="358"
android:viewportHeight="108">
<group>
<clip-path
android:pathData="M0,0h358v107.3h-358z"/>
<path
android:pathData="M10,0L348,0A10,10 0,0 1,358 10L358,97.3A10,10 0,0 1,348 107.3L10,107.3A10,10 0,0 1,0 97.3L0,10A10,10 0,0 1,10 0z"
android:fillColor="#F7F7F7"/>
<path
android:pathData="M195.33,35.33H162.67C158.8,35.33 155.67,38.47 155.67,42.33V65.67C155.67,69.53 158.8,72.67 162.67,72.67H195.33C199.2,72.67 202.33,69.53 202.33,65.67V42.33C202.33,38.47 199.2,35.33 195.33,35.33Z"
android:strokeAlpha="0.35"
android:fillColor="#000000"
android:fillAlpha="0.35"/>
<path
android:pathData="M190.67,49.33C193.24,49.33 195.33,47.24 195.33,44.67C195.33,42.09 193.24,40 190.67,40C188.09,40 186,42.09 186,44.67C186,47.24 188.09,49.33 190.67,49.33Z"
android:strokeAlpha="0.37"
android:fillColor="#000000"
android:fillAlpha="0.37"/>
<path
android:pathData="M160.33,63.33C160.33,63.95 160.58,64.55 161.02,64.98C161.45,65.42 162.05,65.67 162.67,65.67H195.33C195.95,65.67 196.55,65.42 196.98,64.98C197.42,64.55 197.67,63.95 197.67,63.33C197.67,60.15 193.73,56.33 191.83,56.33C189.94,56.33 188.22,58.67 183.67,58.67C177.97,58.67 174.33,47 169.67,47C165,47 160.33,57.18 160.33,63.33Z"
android:strokeAlpha="0.37"
android:fillColor="#000000"
android:fillAlpha="0.37"/>
</group>
</vector>
Loading…
Cancel
Save