Android, как добиться этого типа макета с помощью строк и столбцов - PullRequest
0 голосов
/ 27 марта 2019

enter image description here

enter image description here

Требование:

  • Я должен иметь возможность прокручиватьвесь вид, если левый вид виден или нет (все компоненты должны прокручиваться за раз, если я прокручиваю в любом месте в представлении).
  • Нажав на кнопку показать / скрыть кнопку левого обзора, он сможет скрыть или показать вид слева.
  • В ячейке (только ячейка, не вид слева) есть функция разворачивания / свертывания (я могу увеличивать / уменьшать высоту ячейки)
  • И если я изменяю размер шрифта в приложении настроек устройства, он долженэффект также здесь (так что поддерживает динамический размер шрифта)

1 Ответ

0 голосов
/ 27 марта 2019

Панель навигации + представление Recycler - хорошее решение.

В качестве альтернативы панели навигации вы можете просто использовать ConstraintLayout, который содержит заголовок, левый и RecyclerView.

Я должениметь возможность прокручивать весь вид, если левый вид виден или нет (все компоненты должны прокручиваться за раз, если я прокручиваю в любом месте вида).

Это будет разрешено самим видом рециркулятора.

Нажав на кнопку «Показать / скрыть левую кнопку обзора», вы сможете скрыть или показать левую панель.

Просто переключайте видимость левой панели при нажатии наКнопка, используйте что-то вроде:

public void toggleLeftViewVisible() {
    int visibility = leftView.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE;
    leftView.setVisibility(visibility);
}

В ячейке (только ячейка не вид слева) есть функция разворачивания / свертывания (я могу увеличивать / уменьшать высоту ячейки)

Решите это, добавив прослушиватель щелчков (возможно, на кнопку или на само представление) внутри адаптера представления переработчика.

И если я изменю размер шрифта в настройках устройства app, здесь также должен быть эффект (так что поддерживается динамический размер шрифта)

Если вы правильно сделаете реализацию, Android должен позаботиться об этом автоматически.

...