diff --git a/app/build.gradle b/app/build.gradle index debcfaf..17f604f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,6 +29,10 @@ android { kotlinOptions { jvmTarget = '17' } + + buildFeatures{ + viewBinding = true + } } dependencies { diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt index b6cbf73..0ab0cf0 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt @@ -2,10 +2,28 @@ package otus.gpb.homework.viewandresources import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.LinearLayoutManager class CartActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cart) + + val rv = findViewById(R.id.recyclerView) + rv.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + rv.layoutManager = LinearLayoutManager(this) + + val itemsList = listOf( + CartItem("Baguette", "Food", R.drawable.baguette, "$0.50"), + CartItem("Wine", "Food", R.drawable.bottle_wine, "$7.30"), + CartItem("Cheese", "Food", R.drawable.cheese, "$10.00"), + CartItem("Metallica CD", "Music", R.drawable.album, "$15.00") + ) + + rv.adapter = RcViewItem(itemsList) } } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt b/app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt new file mode 100644 index 0000000..1d8e09a --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt @@ -0,0 +1,3 @@ +package otus.gpb.homework.viewandresources + +data class CartItem(val title: String, val description: String, val image: Int, val price: String) \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/RcViewItem.kt b/app/src/main/java/otus/gpb/homework/viewandresources/RcViewItem.kt new file mode 100644 index 0000000..84db574 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/RcViewItem.kt @@ -0,0 +1,34 @@ +package otus.gpb.homework.viewandresources + +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 + +class RcViewItem(private val itemsList: List) : RecyclerView.Adapter() { + + class RecyclerItemHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val imageView: ImageView = itemView.findViewById(R.id.imageView) + val textViewTitle: TextView = itemView.findViewById(R.id.title) + val textView: TextView = itemView.findViewById(R.id.description) + val priceView: TextView = itemView.findViewById(R.id.price) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerItemHolder { + val itemView = LayoutInflater.from(parent.context) + .inflate(R.layout.item_cart, parent, false) + return RecyclerItemHolder(itemView) + } + + override fun onBindViewHolder(holder: RecyclerItemHolder, position: Int) { + val currentItem = itemsList[position] + holder.imageView.setImageResource(currentItem.image) + holder.textViewTitle.text = currentItem.title + holder.textView.text = currentItem.description + holder.priceView.text = currentItem.price + } + + override fun getItemCount() = itemsList.size +} diff --git a/app/src/main/res/drawable/account.xml b/app/src/main/res/drawable/account.xml new file mode 100644 index 0000000..58ba7fb --- /dev/null +++ b/app/src/main/res/drawable/account.xml @@ -0,0 +1,2 @@ + + diff --git a/app/src/main/res/drawable/address.xml b/app/src/main/res/drawable/address.xml new file mode 100644 index 0000000..19ea8eb --- /dev/null +++ b/app/src/main/res/drawable/address.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/album.xml b/app/src/main/res/drawable/album.xml new file mode 100644 index 0000000..e11cffb --- /dev/null +++ b/app/src/main/res/drawable/album.xml @@ -0,0 +1 @@ + diff --git a/app/src/main/res/drawable/arrow_left.xml b/app/src/main/res/drawable/arrow_left.xml new file mode 100644 index 0000000..a2775d4 --- /dev/null +++ b/app/src/main/res/drawable/arrow_left.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/baguette.xml b/app/src/main/res/drawable/baguette.xml new file mode 100644 index 0000000..d1783d3 --- /dev/null +++ b/app/src/main/res/drawable/baguette.xml @@ -0,0 +1 @@ + diff --git a/app/src/main/res/drawable/bottle_wine.xml b/app/src/main/res/drawable/bottle_wine.xml new file mode 100644 index 0000000..22bfb48 --- /dev/null +++ b/app/src/main/res/drawable/bottle_wine.xml @@ -0,0 +1 @@ + diff --git a/app/src/main/res/drawable/calendar.xml b/app/src/main/res/drawable/calendar.xml new file mode 100644 index 0000000..3c30c94 --- /dev/null +++ b/app/src/main/res/drawable/calendar.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/cheese.xml b/app/src/main/res/drawable/cheese.xml new file mode 100644 index 0000000..5c539eb --- /dev/null +++ b/app/src/main/res/drawable/cheese.xml @@ -0,0 +1 @@ + diff --git a/app/src/main/res/drawable/close_circle_outline.xml b/app/src/main/res/drawable/close_circle_outline.xml new file mode 100644 index 0000000..bca6937 --- /dev/null +++ b/app/src/main/res/drawable/close_circle_outline.xml @@ -0,0 +1,2 @@ + + diff --git a/app/src/main/res/drawable/dots_vertical.xml b/app/src/main/res/drawable/dots_vertical.xml new file mode 100644 index 0000000..a803240 --- /dev/null +++ b/app/src/main/res/drawable/dots_vertical.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/phone_check.xml b/app/src/main/res/drawable/phone_check.xml new file mode 100644 index 0000000..528f717 --- /dev/null +++ b/app/src/main/res/drawable/phone_check.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/sale.xml b/app/src/main/res/drawable/sale.xml new file mode 100644 index 0000000..94ba039 --- /dev/null +++ b/app/src/main/res/drawable/sale.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/smile.xml b/app/src/main/res/drawable/smile.xml new file mode 100644 index 0000000..a87d9db --- /dev/null +++ b/app/src/main/res/drawable/smile.xml @@ -0,0 +1 @@ + diff --git a/app/src/main/res/drawable/sun.xml b/app/src/main/res/drawable/sun.xml new file mode 100644 index 0000000..839e2ba --- /dev/null +++ b/app/src/main/res/drawable/sun.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_cart.xml b/app/src/main/res/layout/activity_cart.xml index 57dc4d4..aa85827 100644 --- a/app/src/main/res/layout/activity_cart.xml +++ b/app/src/main/res/layout/activity_cart.xml @@ -4,6 +4,166 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/toolbar_cart_bk" tools:context=".CartActivity"> + + + + + + + + + + + + + + + + + + + + + + + + +