3 Commits

Author SHA1 Message Date
  pankaj 215be17924 banklist adapter bank design 2 years ago
  pankaj 182817e71d Merge branch 'PankajBranch' of https://git.nivesh.com:443/hemant.khadase/BajajFDLib into PankajBranch 2 years ago
  pankaj 1280b71f32 changes 2 years ago
12 changed files with 376 additions and 4 deletions
Unified View
  1. +2
    -1
      app/src/main/AndroidManifest.xml
  2. +117
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
  3. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/BankList.kt
  4. +1
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  5. +5
    -0
      app/src/main/res/drawable/ic_add_icon.xml
  6. +5
    -0
      app/src/main/res/drawable/ic_select_green.xml
  7. +5
    -0
      app/src/main/res/drawable/ic_select_outline.xml
  8. +53
    -0
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  9. +167
    -0
      app/src/main/res/layout/item_banklist_preview.xml
  10. +1
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  11. +4
    -0
      app/src/main/res/values-night/strings.xml
  12. +1
    -0
      app/src/main/res/values/strings.xml

+ 2
- 1
app/src/main/AndroidManifest.xml View File

@ -19,7 +19,8 @@
<activity <activity
android:name=".ui.activity.BajajFdMainActivity" android:name=".ui.activity.BajajFdMainActivity"
android:exported="true" android:exported="true"
android:windowSoftInputMode="adjustPan">
android:windowSoftInputMode="adjustPan"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />


+ 117
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt View File

@ -0,0 +1,117 @@
package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.BankList
class BankListAdapter( private val bankList: List<BankList>,
private var checkedPosition: Int = -2,
private val selectedAccount: String? = null
)
:RecyclerView.Adapter<BankListAdapter.BankListViewHolder>()
{
inner class BankListViewHolder (itemView:View):RecyclerView.ViewHolder(itemView)
{
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val bankName: TextView = itemView.findViewById(R.id.bankName)
val bankAcNoTV: TextView = itemView.findViewById(R.id.bankAcNoTV)
val bankIfscTV: TextView = itemView.findViewById(R.id.bankIfscTV)
val bankTypeTV: TextView = itemView.findViewById(R.id.bankTypeTV)
}
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BankListViewHolder {
return BankListViewHolder(LayoutInflater.from(parent.context).inflate(
R.layout.item_banklist_preview,
parent,
false
))
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList =bankList[position]
holder.itemView.apply {
holder.bankName.text = bankList.BankName
holder.bankIfscTV.text = bankList.IFSCCode
holder.bankAcNoTV.text = bankList.AccountNumber
holder.bankTypeTV.text = bankList.AccountType
if (selectedAccount == bankList.AccountNumber && checkedPosition == -2
) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
checkedPosition = holder.adapterPosition
} else if (checkedPosition == -1) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
} else if (checkedPosition == holder.adapterPosition)
{
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
} else {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
}
setOnClickListener{ onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
}
}
}
}
override fun getItemCount(): Int {
return bankList.size
}
private var onItemClickListener:((BankList) ->Unit)?=null
fun setOnItemClickListener(listener:(BankList) -> Unit)
{
onItemClickListener= listener
}
fun getSelected(): BankList? {
return if (checkedPosition != -1) {
bankList[checkedPosition]
} else null
}
}

+ 15
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/BankList.kt View File

@ -0,0 +1,15 @@
package com.nivesh.production.bajajfd.model
import java.io.Serializable
data class BankList(
val BankName: String?,
val IFSCCode: String?,
val AccountNumber: String?,
val BranchName: String?,
val DefaultBankFlag: String?,
val IsValBank: String?,
val AccountType: String?
): Serializable

+ 1
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt View File

@ -34,14 +34,11 @@ import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepTwoBajajFDFragment : Fragment() { class StepTwoBajajFDFragment : Fragment() {
private var _binding: FragmentBajajfdStepTwoBinding? = null private var _binding: FragmentBajajfdStepTwoBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var bajajFDInterface: BajajFDInterface private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var rbBank: RadioButton private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton private lateinit var rbPaymentMode: RadioButton
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
companion object { companion object {
@ -87,6 +84,7 @@ class StepTwoBajajFDFragment : Fragment() {
binding.edtDOB.setOnClickListener { binding.edtDOB.setOnClickListener {
removeError(binding.tlDOB) removeError(binding.tlDOB)
} }
binding.edtPANNumber.addTextChangedListener(object : TextWatcher { binding.edtPANNumber.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) { override fun afterTextChanged(s: Editable?) {


+ 5
- 0
app/src/main/res/drawable/ic_add_icon.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#6D6B6B"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M13,7h-2v4L7,11v2h4v4h2v-4h4v-2h-4L13,7zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/>
</vector>

+ 5
- 0
app/src/main/res/drawable/ic_select_green.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#69F324"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6m0,-2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8z"/>
</vector>

+ 5
- 0
app/src/main/res/drawable/ic_select_outline.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#403D3D"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6m0,-2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8z"/>
</vector>

+ 53
- 0
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -772,6 +772,59 @@
android:textSize="@dimen/text_size_14" android:textSize="@dimen/text_size_14"
app:drawableRightCompat="@drawable/svg_down_arrow" /> app:drawableRightCompat="@drawable/svg_down_arrow" />
<!-- RecyclerView for bankList and Add Bank-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="@dimen/margin_5"
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:itemCount="2"
tools:listitem="@layout/item_banklist_preview" />
<TextView
android:id="@+id/addBankDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_new_account"
android:textStyle="bold"
android:textColor="@color/black"
app:drawableEndCompat="@drawable/ic_add_icon"
android:padding="@dimen/margin_5"
android:drawablePadding="4dp"
android:textSize="@dimen/text_size_18"
>
</TextView>
</LinearLayout>
<!-- Add Bank Field-->
<LinearLayout <LinearLayout
android:id="@+id/llBankDetails" android:id="@+id/llBankDetails"
android:layout_width="match_parent" android:layout_width="match_parent"


+ 167
- 0
app/src/main/res/layout/item_banklist_preview.xml View File

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
app:cardMaxElevation="10dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<!-- In the above cardview widget cardelevation property will give elevation to your card view
card corner radius will provide radius to your card view card background color will give
background color to your card view card max elevation will give the cardview maximum
elevation card prevent corner overlap will add padding to CardView on v20 and before to
prevent intersections between the Card content and rounded corners. Card use compact padding
will add padding in API v21+ as well to have the same measurements with previous versions -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- ImageVIew to display our Course Image -->
<ImageView
android:id="@+id/bankSelector"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:layout_centerVertical="true"
android:padding="5dp"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_toEndOf="@id/bankSelector"
>
<!-- Text View to display Course Name -->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text=""
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<!-- Text VIew to display Course Rating -->
<!-- Image used in present in drawable folder -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankAcNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:text="A/c No: "
/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankAcNoTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:text=""
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankIfsc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:text="A/c IFSC : "
/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankIfscTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:text=""
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:text="A/c Type : "
/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankTypeTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:text=""
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</androidx.cardview.widget.CardView>

+ 1
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -203,5 +203,6 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string> <string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string> <string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string> <string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="add_new_account">Add New Account</string>
</resources> </resources>

+ 4
- 0
app/src/main/res/values-night/strings.xml View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="add_new_account">Add New Account</string>
</resources>

+ 1
- 0
app/src/main/res/values/strings.xml View File

@ -210,6 +210,7 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string> <string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string> <string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string> <string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="add_new_account">Add New Account</string>
<string-array name="interestPayoutList"> <string-array name="interestPayoutList">


Loading…
Cancel
Save

Powered by TurnKey Linux.