Author | SHA1 | Message | Date |
---|---|---|---|
|
215be17924 | banklist adapter bank design | 2 years ago |
|
182817e71d |
Merge branch 'PankajBranch' of https://git.nivesh.com:443/hemant.khadase/BajajFDLib into PankajBranch
# Conflicts: # app/src/main/AndroidManifest.xml # app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt |
2 years ago |
|
1280b71f32 | changes | 2 years ago |
@ -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 | |||
} | |||
} |
@ -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 | |||
@ -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> |
@ -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> |
@ -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> |
@ -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> |
@ -0,0 +1,4 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<resources> | |||
<string name="add_new_account">Add New Account</string> | |||
</resources> |
Powered by TurnKey Linux.