From d0cb14d9f45ec5742e5a7dd5a4185eb5e00ddb02 Mon Sep 17 00:00:00 2001 From: Gena Date: Wed, 22 Oct 2025 13:48:15 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=94.=D0=97.=20=D0=BF=D0=BE=20=D1=82?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=20Resources=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 + .../homework/viewandresources/CartActivity.kt | 19 ++ .../gpb/homework/viewandresources/CartItem.kt | 3 + .../homework/viewandresources/RcViewItem.kt | 34 +++ app/src/main/res/drawable/account.xml | 2 + app/src/main/res/drawable/address.xml | 4 + app/src/main/res/drawable/album.xml | 1 + app/src/main/res/drawable/arrow_left.xml | 2 + app/src/main/res/drawable/baguette.xml | 1 + app/src/main/res/drawable/bottle_wine.xml | 1 + app/src/main/res/drawable/calendar.xml | 4 + app/src/main/res/drawable/cheese.xml | 1 + .../res/drawable/close_circle_outline.xml | 2 + app/src/main/res/drawable/dots_vertical.xml | 3 + app/src/main/res/drawable/phone_check.xml | 4 + app/src/main/res/drawable/sale.xml | 3 + app/src/main/res/drawable/smile.xml | 1 + app/src/main/res/drawable/sun.xml | 4 + app/src/main/res/layout/activity_cart.xml | 166 ++++++++++++++ app/src/main/res/layout/activity_contacts.xml | 207 ++++++++++++++++++ app/src/main/res/layout/dialog_signin.xml | 102 ++++++++- app/src/main/res/layout/item_cart.xml | 57 +++++ app/src/main/res/menu/toolbar_cart.xml | 9 + app/src/main/res/menu/toolbar_contacts.xml | 14 ++ app/src/main/res/values-night/colors.xml | 14 ++ app/src/main/res/values-night/themes.xml | 7 +- app/src/main/res/values/colors.xml | 12 + app/src/main/res/values/strings.xml | 38 ++++ app/src/main/res/values/styles.xml | 14 ++ app/src/main/res/values/themes.xml | 7 +- build.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 32 files changed, 738 insertions(+), 8 deletions(-) create mode 100644 app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt create mode 100644 app/src/main/java/otus/gpb/homework/viewandresources/RcViewItem.kt create mode 100644 app/src/main/res/drawable/account.xml create mode 100644 app/src/main/res/drawable/address.xml create mode 100644 app/src/main/res/drawable/album.xml create mode 100644 app/src/main/res/drawable/arrow_left.xml create mode 100644 app/src/main/res/drawable/baguette.xml create mode 100644 app/src/main/res/drawable/bottle_wine.xml create mode 100644 app/src/main/res/drawable/calendar.xml create mode 100644 app/src/main/res/drawable/cheese.xml create mode 100644 app/src/main/res/drawable/close_circle_outline.xml create mode 100644 app/src/main/res/drawable/dots_vertical.xml create mode 100644 app/src/main/res/drawable/phone_check.xml create mode 100644 app/src/main/res/drawable/sale.xml create mode 100644 app/src/main/res/drawable/smile.xml create mode 100644 app/src/main/res/drawable/sun.xml create mode 100644 app/src/main/res/layout/item_cart.xml create mode 100644 app/src/main/res/menu/toolbar_cart.xml create mode 100644 app/src/main/res/menu/toolbar_contacts.xml create mode 100644 app/src/main/res/values-night/colors.xml create mode 100644 app/src/main/res/values/styles.xml 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..3951fae 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,29 @@ 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 +import otus.gpb.homework.viewandresources.CartItem 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..8e6e8f9 100644 --- a/app/src/main/res/layout/activity_cart.xml +++ b/app/src/main/res/layout/activity_cart.xml @@ -4,6 +4,172 @@ 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"> + + + + + + + + + + + + + + + + + + + + + + + + + + +