Кроме того, было бы возможно и целесообразно хранить все это в рамках одного вида деятельности?
- Да, конечно, да, с небольшим уловом, в зависимости от того, что вы имеете в виду.
Один из подходов - создать верхнюю и нижнюю панели внутри своего собственного XML. Затем в вашей деятельности onCreate () надуйте и добавьте вверху и внизу вашего макета.
Если нижняя полоса никогда не изменится, вы можете добавить это к уже имеющимся макетам. Если вы сделаете это таким образом, чтобы обработать слушателей, вы можете создать действие, которое будет содержать только прослушиватели щелчков в нижней панели, а затем дополнить его всеми другими вашими действиями.
Поскольку верхняя панель может меняться, хотя вам, вероятно, придется надувать и добавлять к ней представления во время выполнения, таким образом вы можете реагировать на происходящее, чтобы добавлять / удалять / представлять соответствующие виды на верхней панели. .
Также только потому, что это нечто вроде моей любимой мозоли:
При проектировании нижней панели, пожалуйста, серьезно учтите тот факт, что некоторые устройства имеют программные кнопки прямо под сенсорным экраном. И они довольно близко к экрану на некоторых устройствах. Приложения с недостаточно высокой высотой нижней панели создают для пользователя возможность нажать одну из системных кнопок вместо одной из кнопок нижней панели, как они предназначены (или наоборот). Что с точки зрения пользователей, я должен сказать, ОЧЕНЬ отягчает.