diff --git a/app/build.gradle b/app/build.gradle index 4332a31..c03e161 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,15 @@ plugins { } android { - compileSdk 32 + compileSdk 33 + buildFeatures { + viewBinding true + } defaultConfig { applicationId "otus.gpb.homework.viewandresources" minSdk 23 - targetSdk 32 + targetSdk 33 versionCode 1 versionName "1.0" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 608e135..de9e8c2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,19 +16,24 @@ - + android:exported="true"> + + + + + + 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..068ee56 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,30 @@ package otus.gpb.homework.viewandresources import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.view.Menu +import android.view.MenuItem +import android.view.View +import android.widget.ImageView +import android.widget.TextView +import androidx.appcompat.widget.Toolbar class CartActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cart) + + val toolbar = findViewById(R.id.toolbar) + setSupportActionBar(toolbar) + + } + + override fun onCreateOptionsMenu(menu: Menu?): Boolean { + getMenuInflater().inflate(R.menu.card_menu, menu) + return true + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + val id = item.itemId + return true } } \ 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..1bbb8bf 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt @@ -1,11 +1,66 @@ package otus.gpb.homework.viewandresources -import androidx.appcompat.app.AppCompatActivity + import android.os.Bundle +import android.view.Menu +import android.view.MenuItem +import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar +import androidx.core.content.ContentProviderCompat.requireContext + class ContactsActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_contacts) + val toolbar = findViewById(R.id.toolbar) + setSupportActionBar(toolbar) + + val items = resources.getStringArray(R.array.array_for_dropdown1) + val adapter = ArrayAdapter( + this, + R.layout.list_popup_window_item, items + ) + val autoComplete2 = findViewById(R.id.autoComplete2) + autoComplete2.setAdapter(adapter) + + val items2 = resources.getStringArray(R.array.array_for_dropdown2) + val adapter2 = ArrayAdapter( + this, + R.layout.list_popup_window_item, items2 + ) + val autoComplete3 = findViewById(R.id.autoComplete3) + autoComplete3.setAdapter(adapter2) + + + + +// val COUNTRIES = arrayOf( +// "Belgium", "France", "Italy", "Germany", "Spain" +// ) +// val adapter = ArrayAdapter( +// this, +// android.R.layout.simple_dropdown_item_1line, COUNTRIES +// ) +// val textView = findViewById(R.id.autocomplete1) +// textView.setAdapter(adapter) + + + } + + override fun onCreateOptionsMenu(menu: Menu?): Boolean { + getMenuInflater().inflate(R.menu.toolbar_menu, menu) + return true + + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + val id = item.itemId + return true + + } } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/components/CartSnippet.kt b/app/src/main/java/otus/gpb/homework/viewandresources/components/CartSnippet.kt new file mode 100644 index 0000000..414d7e0 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/components/CartSnippet.kt @@ -0,0 +1,46 @@ +package otus.gpb.homework.viewandresources.components + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.widget.LinearLayout +import androidx.core.content.withStyledAttributes +import otus.gpb.homework.viewandresources.R +import otus.gpb.homework.viewandresources.databinding.CartSnippetBinding + +class CartSnippet @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0, + defStyleRes: Int = 0, +) : LinearLayout (context, attrs, defStyleAttr, defStyleRes) { + private val binding : CartSnippetBinding + private var name = "" + init { + binding = CartSnippetBinding.inflate(LayoutInflater.from(context), this) + // initPanel(attrs, defStyleAttr) + initParams(attrs, defStyleAttr) + } + + private fun initParams(attrs: AttributeSet?, defStyleAttr: Int) = with(binding) { + context.withStyledAttributes(attrs, R.styleable.CartSnippet, defStyleAttr) { + name = getString(R.styleable.CartSnippet_staffName)?: "Имя" + textViewName.text = name + + val imageResId = getResourceId(R.styleable.CartSnippet_ImageRes, 0) + if (imageResId != 0) { + itemImage.setImageResource(imageResId) + } + + val description = getString(R.styleable.CartSnippet_Description)?: "Описание" + textViewDescription.text = description + + val price = getString(R.styleable.CartSnippet_Price)?: "Цена" + textViewPrice.text = price + + + } + } + + +} \ No newline at end of file diff --git a/app/src/main/res/color-night/stroke_color_selector.xml b/app/src/main/res/color-night/stroke_color_selector.xml new file mode 100644 index 0000000..66fdb26 --- /dev/null +++ b/app/src/main/res/color-night/stroke_color_selector.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color-notnight/stroke_color_selector.xml b/app/src/main/res/color-notnight/stroke_color_selector.xml new file mode 100644 index 0000000..66fdb26 --- /dev/null +++ b/app/src/main/res/color-notnight/stroke_color_selector.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/account.xml b/app/src/main/res/drawable/account.xml new file mode 100644 index 0000000..baae9e8 --- /dev/null +++ b/app/src/main/res/drawable/account.xml @@ -0,0 +1,9 @@ + + + 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..bc94267 --- /dev/null +++ b/app/src/main/res/drawable/arrow_left.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/cactus.png b/app/src/main/res/drawable/cactus.png new file mode 100644 index 0000000..1236f93 Binary files /dev/null and b/app/src/main/res/drawable/cactus.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..9f71c7b --- /dev/null +++ b/app/src/main/res/drawable/calendar.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/clock.png b/app/src/main/res/drawable/clock.png new file mode 100644 index 0000000..fdbffbf Binary files /dev/null and b/app/src/main/res/drawable/clock.png differ diff --git a/app/src/main/res/drawable/close.xml b/app/src/main/res/drawable/close.xml new file mode 100644 index 0000000..2ad19e3 --- /dev/null +++ b/app/src/main/res/drawable/close.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/disk.png b/app/src/main/res/drawable/disk.png new file mode 100644 index 0000000..302de21 Binary files /dev/null and b/app/src/main/res/drawable/disk.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..ff53e66 --- /dev/null +++ b/app/src/main/res/drawable/dots_vertical.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/magnify.xml b/app/src/main/res/drawable/magnify.xml new file mode 100644 index 0000000..c47c82b --- /dev/null +++ b/app/src/main/res/drawable/magnify.xml @@ -0,0 +1,5 @@ + + + + + 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..ca4b612 --- /dev/null +++ b/app/src/main/res/drawable/map_marker.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/pencil.xml b/app/src/main/res/drawable/pencil.xml new file mode 100644 index 0000000..6c65f3c --- /dev/null +++ b/app/src/main/res/drawable/pencil.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/phone.xml b/app/src/main/res/drawable/phone.xml new file mode 100644 index 0000000..1e12044 --- /dev/null +++ b/app/src/main/res/drawable/phone.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/pie.png b/app/src/main/res/drawable/pie.png new file mode 100644 index 0000000..d4935c8 Binary files /dev/null and b/app/src/main/res/drawable/pie.png differ diff --git a/app/src/main/res/drawable/placeholder.png b/app/src/main/res/drawable/placeholder.png new file mode 100644 index 0000000..d17294f Binary files /dev/null and b/app/src/main/res/drawable/placeholder.png differ diff --git a/app/src/main/res/drawable/rounded_button.xml b/app/src/main/res/drawable/rounded_button.xml new file mode 100644 index 0000000..7d965f4 --- /dev/null +++ b/app/src/main/res/drawable/rounded_button.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file 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..018490c --- /dev/null +++ b/app/src/main/res/drawable/tag_heart.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/wallet.xml b/app/src/main/res/drawable/wallet.xml new file mode 100644 index 0000000..fd9780e --- /dev/null +++ b/app/src/main/res/drawable/wallet.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/font/aguafina_script.ttf b/app/src/main/res/font/aguafina_script.ttf new file mode 100644 index 0000000..9585cd3 Binary files /dev/null and b/app/src/main/res/font/aguafina_script.ttf differ diff --git a/app/src/main/res/font/roboto.ttf b/app/src/main/res/font/roboto.ttf new file mode 100644 index 0000000..3313686 Binary files /dev/null and b/app/src/main/res/font/roboto.ttf differ diff --git a/app/src/main/res/layout/activity_cart.xml b/app/src/main/res/layout/activity_cart.xml index 57dc4d4..36347bb 100644 --- a/app/src/main/res/layout/activity_cart.xml +++ b/app/src/main/res/layout/activity_cart.xml @@ -1,9 +1,165 @@ - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +