diff --git a/README.md b/README.md new file mode 100644 index 0000000..4bdb492 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Практическая работа. Разметка + +Измените код существующих классов, добавьте новые классы и интерфейсы, дополните разметку и ресурсы, чтобы приложение отвечало следующим требованиям: + +1. Четыре кнопки *Floating Action Button* располагаются слева-сверху, справа-сверху, слева-снизу и справа-снизу с отступом `@dimen/main_padding`. +2. Размеры (ширина и высота) элементов типа *Floating Action Button* имеют значение `@dimen/fab_size`. +3. Элемент разметки *TextView* с `@id/score_text` должен отображать суммарное количество нажатий на кнопки *Floating Action Button*, при запуске приложения он должен содержать строку «`0`». *TextView* должен иметь размеры родительского контейнера, поля (отступы) с каждой стороны задаются `@dimen/main_padding`. +4. По нажатии на *TextView* счётчик числа нажатий на кнопки *Floating Action Button* сбрасывается (устанавливается строка «`0`», отсчёт запускается заново) и появляется *Snackbar* c текстом «`100%`» (без кавычек). + +Рекомендуется использовать Android Studio Dolphin 2021.3.1. В проекте gradle version 7.5, gradle plugin version 7.3.0. + +Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию. + +Допускается использовать язык Java и/или Kotlin. При сборке проекта вcе изменения в файле build.gradle будут проигнорированы – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения. + +Тестирование одной посылки может длиться до 5 минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0ab9e22..0907ebb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -27,5 +27,9 @@ android { } dependencies { + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("com.google.android.material:material:1.12.0") + implementation("androidx.activity:activity:1.8.0") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") defaultLibrary() } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9ee5c40..d406a8f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,6 +11,16 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Default" - tools:targetApi="31" /> + tools:targetApi="31"> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/MainActivity.java b/app/src/main/java/ru/myitschool/work/MainActivity.java new file mode 100644 index 0000000..2e73db9 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/MainActivity.java @@ -0,0 +1,21 @@ +package ru.myitschool.work; + +import android.os.Bundle; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import ru.myitschool.work.databinding.ActivityMainBinding; + +public class MainActivity extends AppCompatActivity { + + private ActivityMainBinding binding; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..9affce0 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file