diff --git a/app/build.gradle b/app/build.gradle index debcfaf..4d7acf3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,12 @@ plugins { } android { - compileSdk 35 + compileSdk 34 namespace = "otus.gpb.homework.viewandresources" defaultConfig { applicationId "otus.gpb.homework.viewandresources" minSdk 23 - targetSdk 35 + targetSdk 34 versionCode 1 versionName "1.0" @@ -29,10 +29,13 @@ android { kotlinOptions { jvmTarget = '17' } + viewBinding { + enabled = true + } } dependencies { - implementation 'androidx.core:core-ktx:1.15.0' + implementation 'androidx.core:core-ktx:1.13.1' implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'com.google.android.material:material:1.12.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.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..14cbe03 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,57 @@ package otus.gpb.homework.viewandresources import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.view.View +import android.widget.TextView + +class CartActivity : AppCompatActivity()/*, CartItemListener*/ { + private lateinit var textCartItemCount :TextView + private lateinit var textCartOrderTotalAmount :TextView + private lateinit var textCartSubtotalAmount :TextView + private lateinit var textCartShippingAmount :TextView + private lateinit var textCartTaxAmount :TextView + private lateinit var textCartOrderTotal :TextView + private lateinit var textCartSubtotal :TextView + private lateinit var textCartShipping :TextView + private lateinit var textCartTax :TextView + + private lateinit var cartItemInc: View + private lateinit var textCartName :TextView + -class CartActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cart) + + textCartOrderTotal = findViewById(R.id.textCartOrderTotal) + textCartSubtotal = findViewById(R.id.textCartSubtotal) + textCartShipping = findViewById(R.id.textCartShipping) + textCartTax = findViewById(R.id.textCartTax) + textCartItemCount = findViewById(R.id.textCartItemCount) + textCartOrderTotalAmount = findViewById(R.id.textCartOrderTotalAmount) + textCartSubtotalAmount = findViewById(R.id.textCartSubtotalAmount) + textCartShippingAmount = findViewById(R.id.textCartShippingAmount) + textCartTaxAmount = findViewById(R.id.textCartTaxAmount) + + cartItemInc = findViewById(R.id.сart_item_inc_1) + textCartName = cartItemInc.findViewById(R.id.cart_item_caption) + textCartName.text = getString(R.string.cart_item_name_1) + + cartItemInc = findViewById(R.id.сart_item_inc_2) + textCartName = cartItemInc.findViewById(R.id.cart_item_caption) + textCartName.text = getString(R.string.cart_item_name_2) + + cartItemInc = findViewById(R.id.сart_item_inc_3) + textCartName = cartItemInc.findViewById(R.id.cart_item_caption) + textCartName.text = getString(R.string.cart_item_name_3) + + cartItemInc = findViewById(R.id.сart_item_inc_4) + textCartName = cartItemInc.findViewById(R.id.cart_item_caption) + textCartName.text = getString(R.string.cart_item_name_4) + + textCartOrderTotal.text = getString(R.string.order_total) + textCartSubtotal.text = getString(R.string.subtotal) + textCartShipping.text = getString(R.string.shipping) + textCartTax.text = getString(R.string.tax) } } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/CompoundViewContacts.kt b/app/src/main/java/otus/gpb/homework/viewandresources/CompoundViewContacts.kt new file mode 100644 index 0000000..e2217aa --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CompoundViewContacts.kt @@ -0,0 +1,39 @@ +package otus.gpb.homework.viewandresources.components + +import android.content.Context +import android.content.res.ColorStateList +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.withStyledAttributes +import otus.gpb.homework.viewandresources.R +import otus.gpb.homework.viewandresources.databinding.CompoundViewContactsBinding + + +class CompoundViewContacts @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStileAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStileAttr) { + + private val binding: CompoundViewContactsBinding + + init { + binding = CompoundViewContactsBinding.inflate(LayoutInflater.from(context), this) + initCustomAttibutes(attrs, defStileAttr) + } + + private fun initCustomAttibutes(attrs: AttributeSet?, defStyleAttr: Int) = with(binding) { + context.withStyledAttributes(attrs, R.styleable.CompoundViewContacts, defStyleAttr, 0) { + title.text = getString(R.styleable.CompoundViewContacts_contacts_title) + title.setTextColor(getColor(R.styleable.CompoundViewContacts_contacts_titleColor, 0)) + text.text = getString(R.styleable.CompoundViewContacts_contacts_text) + text.setTextColor(getColor(R.styleable.CompoundViewContacts_contacts_textColor, 0)) + binding.icon.setImageDrawable(getDrawable(R.styleable.CompoundViewContacts_contacts_icon)) + binding.icon.setImageTintList( + ColorStateList.valueOf( + getColor(R.styleable.CompoundViewContacts_contacts_iconColor, 0))) + binding.divider.dividerColor = (getColor(R.styleable.CompoundViewContacts_contacts_dividerColor, 0)) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt index 22b779c..abdcb90 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt @@ -10,6 +10,7 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + findViewById