Skip to content

Latest commit

 

History

History

05_views

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию «2.1. Custom Views — разработка собственных элементов интерфейса»

В качестве результата пришлите ссылки на ваш GitHub-проект в личном кабинете студента на сайте netology.ru.

Важно: ознакомьтесь со ссылками на главной странице репозитория с домашними заданиями.

Важно: если у вас что-то не получилось, оформите Issue по установленным правилам.

Как сдавать задачи

  1. Создайте новый проект Android-приложения, можете брать код из лекции.
  2. Сделайте необходимые коммиты.
  3. Сделайте push. Убедитесь, что ваш код появился на GitHub.
  4. Ссылку на ваш проект отправьте в личном кабинете на сайте netology.ru.
  5. Задачи, отмеченные как необязательные, можно не сдавать. Это не повлияет на получение зачёта.

Задача. Smart StatsView

Описание

На текущий момент наша Custom View принимает в качестве данных доли:

findViewById<StatsView>(R.id.stats).data = listOf(
    0.25F,
    0.25F,
    0.25F,
    0.25F,
)

Что в сумме даёт нам картинку из лекции:

Q: что мы хотим?

A: мы хотим, чтобы StatsView принимала на вход данные, по которым сама рассчитывала проценты:

findViewById<StatsView>(R.id.stats).data = listOf(
    500F,
    500F,
    500F,
    500F,
)

Что должно давать такую же картинку, т. к. SmartStatsView просуммирует все данные и определит, что каждый элемент — это ровно 25 %:

Результат

Опубликуйте изменения в виде Pull Request в вашем проекте на GitHub.

В качестве результата пришлите ссылку на PR GitHub-проект в личном кабинете студента на сайте netology.ru.

Задача. Dot

Описание

В нашей реализации есть один не очень приятный нюанс:

Исправьте реализацию таким образом, чтобы мы из картинки «Как сейчас» получили картинку «Как должно быть».

Результат

Опубликуйте изменения в виде Pull Request в вашем проекте на GitHub.

В качестве результата пришлите ссылку на PR GitHub-проект в личном кабинете студента на сайте netology.ru.

Задача. Not Filled*

Важно: это необязательная задача. Её (не)выполнение не влияет на получение зачёта по ДЗ.

Описание

Если вы реализовали предыдущую задачу, то заполняемость вашего графика всегда 100 %.

Мы хотим сделать так, чтобы можно было иметь и незаполненную часть:

Подумайте, как это можно сделать, и реализуйте.

Подсказка

Возможно, придётся поменять формат входных данных и вспомнить часть о drawCircle.

Результат

Опубликуйте изменения в виде Pull Request в вашем проекте на GitHub.

В качестве результата пришлите ссылку на PR GitHub-проект в личном кабинете студента на сайте netology.ru.