diff --git a/app/build.gradle b/app/build.gradle index 4332a31..eea36de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,11 +4,11 @@ plugins { } android { - compileSdk 32 + compileSdk 34 defaultConfig { applicationId "otus.gpb.homework.viewandresources" - minSdk 23 + minSdk 26 targetSdk 32 versionCode 1 versionName "1.0" 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..a2aa742 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt @@ -1,11 +1,48 @@ package otus.gpb.homework.viewandresources -import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import otus.gpb.homework.viewandresources.adapter.CartListAdapter +import otus.gpb.homework.viewandresources.model.CartItem class CartActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cart) + supportActionBar?.hide() + + val cartItems = listOf( + CartItem( + R.drawable.cupcake, + R.string.on_the_top, + R.string.caption, + R.string.us1 + ), + CartItem( + R.drawable.forever_friends, + R.string.forever_friends, + R.string.caption, + R.string.us2 + ), + CartItem( + R.drawable.prototyping_kit, + R.string.prototyping_kit, + R.string.caption, + R.string.us3 + ), + CartItem( + R.drawable.basket_and_coffee, + R.string.basket_and_coffee, + R.string.caption, + R.string.us4 + ) + ) + + val recyclerView: RecyclerView = findViewById(R.id.recycler_view) + recyclerView.adapter = CartListAdapter(cartItems) + recyclerView.layoutManager = LinearLayoutManager(this) } -} \ No newline at end of file +} diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt index 25f1ffb..6d651b4 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt @@ -7,5 +7,6 @@ class ContactsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_contacts) + supportActionBar?.hide() } } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/adapter/CartListAdapter.kt b/app/src/main/java/otus/gpb/homework/viewandresources/adapter/CartListAdapter.kt new file mode 100644 index 0000000..845282a --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/adapter/CartListAdapter.kt @@ -0,0 +1,41 @@ +package otus.gpb.homework.viewandresources.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 otus.gpb.homework.viewandresources.R +import otus.gpb.homework.viewandresources.model.CartItem + +class CartListAdapter( + private val listItems: List, +) : RecyclerView.Adapter() { + + inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val imageView: ImageView = itemView.findViewById(R.id.mainImage) + val nameTextView: TextView = itemView.findViewById(R.id.mainText) + val descriptionTextView: TextView = itemView.findViewById(R.id.mainDescription) + val priceTextView: TextView = itemView.findViewById(R.id.mainPrice) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder = + ViewHolder( + LayoutInflater.from(parent.context) + .inflate(R.layout.cart_item, parent, false) + ) + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val item = listItems[position] + + holder.apply { + imageView.setImageResource(item.image) + nameTextView.setText(item.name) + descriptionTextView.setText(item.description) + priceTextView.setText(item.price) + } + } + + override fun getItemCount() = listItems.size +} diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/model/CartItem.kt b/app/src/main/java/otus/gpb/homework/viewandresources/model/CartItem.kt new file mode 100644 index 0000000..372fbd6 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/model/CartItem.kt @@ -0,0 +1,11 @@ +package otus.gpb.homework.viewandresources.model + +import androidx.annotation.DrawableRes +import androidx.annotation.StringRes + +data class CartItem( + @DrawableRes val image: Int, + @StringRes val name: Int, + @StringRes val description: Int, + @StringRes val price: Int, +) diff --git a/app/src/main/res/drawable/account.xml b/app/src/main/res/drawable/account.xml new file mode 100644 index 0000000..a3cbd5f --- /dev/null +++ b/app/src/main/res/drawable/account.xml @@ -0,0 +1 @@ + \ No newline at end of file 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..828f7a8 --- /dev/null +++ b/app/src/main/res/drawable/arrow_left.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/basket_and_coffee.png b/app/src/main/res/drawable/basket_and_coffee.png new file mode 100644 index 0000000..2ab461d Binary files /dev/null and b/app/src/main/res/drawable/basket_and_coffee.png differ diff --git a/app/src/main/res/drawable/calendar.xml b/app/src/main/res/drawable/calendar.xml new file mode 100644 index 0000000..9bd05bf --- /dev/null +++ b/app/src/main/res/drawable/calendar.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/close.xml b/app/src/main/res/drawable/close.xml new file mode 100644 index 0000000..8863cbf --- /dev/null +++ b/app/src/main/res/drawable/close.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/cupcake.png b/app/src/main/res/drawable/cupcake.png new file mode 100644 index 0000000..5a6e3a0 Binary files /dev/null and b/app/src/main/res/drawable/cupcake.png differ 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..481a28d --- /dev/null +++ b/app/src/main/res/drawable/dots_vertical.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/forever_friends.png b/app/src/main/res/drawable/forever_friends.png new file mode 100644 index 0000000..11d22cc Binary files /dev/null and b/app/src/main/res/drawable/forever_friends.png differ diff --git a/app/src/main/res/drawable/magnify.xml b/app/src/main/res/drawable/magnify.xml new file mode 100644 index 0000000..2dd1e7a --- /dev/null +++ b/app/src/main/res/drawable/magnify.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/map_marker.xml b/app/src/main/res/drawable/map_marker.xml new file mode 100644 index 0000000..fd6328d --- /dev/null +++ b/app/src/main/res/drawable/map_marker.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/menu_down.xml b/app/src/main/res/drawable/menu_down.xml new file mode 100644 index 0000000..7c73ec1 --- /dev/null +++ b/app/src/main/res/drawable/menu_down.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/pencil.xml b/app/src/main/res/drawable/pencil.xml new file mode 100644 index 0000000..0044f8e --- /dev/null +++ b/app/src/main/res/drawable/pencil.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/phone.xml b/app/src/main/res/drawable/phone.xml new file mode 100644 index 0000000..af678eb --- /dev/null +++ b/app/src/main/res/drawable/phone.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/prototyping_kit.png b/app/src/main/res/drawable/prototyping_kit.png new file mode 100644 index 0000000..51562db Binary files /dev/null and b/app/src/main/res/drawable/prototyping_kit.png differ diff --git a/app/src/main/res/drawable/tag_heart.xml b/app/src/main/res/drawable/tag_heart.xml new file mode 100644 index 0000000..20ac551 --- /dev/null +++ b/app/src/main/res/drawable/tag_heart.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/wallet.xml b/app/src/main/res/drawable/wallet.xml new file mode 100644 index 0000000..83e8516 --- /dev/null +++ b/app/src/main/res/drawable/wallet.xml @@ -0,0 +1 @@ + \ 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..f7b5362 100644 --- a/app/src/main/res/layout/activity_cart.xml +++ b/app/src/main/res/layout/activity_cart.xml @@ -6,4 +6,217 @@ android:layout_height="match_parent" tools:context=".CartActivity"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +