У меня проблемы с настройкой ландшафтного режима в моем приложении.
У меня есть папка / res, которая содержит папку макета и папку области макета
layout
-----main.xml
layout-land
-----main.xml
Мой /layout-land/main.xml содержит элементы пользовательского интерфейса, отличные от /layout/main.xml. Как я могу соответствующим образом сопоставить каждый макет, когда пользователь переключился в альбомный режим и наоборот?
Я в основном показываю полноэкранный ImageView, когда пользователь переключается в альбомный режим. ImageView загрузит изображение из Интернета и отобразит его. Чтобы вернуться в портретный режим, нужно просто вернуться в мой портретный режим, в котором есть другой набор компонентов пользовательского интерфейса.
Я получаю сбой при переключении в альбомный режим:
, потому что я не могу получить идентификатор:
chartImageViewLandscape = (ImageView) this.findViewById(R.id.chartImageViewLandscape);
chartImageViewLandscape находится в / layout-land / main. Я удаляю все сеттеры и добавляю только ...
Я много использовал автоматические свойства, но все больше и больше уходил от этой настройки классов с полями поддержки только для чтения, инициализированными в конструкторе. Я удаляю все сеттеры и добавляю только обратно, если свойство явно нуждается в сеттере.
Я считаю, что это делает мои классы более надежными и элегантными с точки зрения объектно-ориентированного подхода, и я ругаю себя за то, что не делал этого раньше.
Я считаю, что конструкторы очень мало используются в примерах кода C #, и я думаю, что автоматические свойства и инициализатор объектов большая часть этого, поэтому у меня вопрос в том, почему команда разработчиков C # продвигает такие функции, а не уделяет больше внимания предоставлению функций, в большей степени продвигая передовые практики. В общем, я считаю, что писать плохой код слишком просто, и считаю, что можно сделать больше, помогая кодировщикам писать хороший код