Могу ли я иметь перекрывающиеся элементы в Android?

#java #android

#java #Android

Вопрос:

Я хочу иметь разные представления, основанные на выполняемом действии.

Мой вопрос:

1) С точки зрения макета, как мне нужно настроить свои представления, чтобы я мог переключаться между TextView и хронометром?

Ответ №1:

На этот вопрос сложно ответить, потому что он не очень специфичен, и наилучший подход может зависеть от того, что именно вы пытаетесь сделать. Однако я просто собираюсь предположить, что Activity в настоящее время у вас есть один, и вы просто хотите, чтобы тот View или иной вид View был виден, возможно, в зависимости от результата выбора какого-либо меню или чего-то еще.

То, как я интерпретирую ваш вопрос, чтобы сделать его более конкретным, в основном «как я могу динамически добавлять / удалять View s или делать их невидимыми / видимыми».

Чтобы заставить дочерние Views элементы появляться и исчезать, существует ряд простых подходов, которые вы могли бы предпринять:

  1. Удаляйте и добавляйте Views к родительскому View элементу по мере необходимости, используя addView() removeView() вызовы и для родительского элемента, содержащего ViewGroup (который может, например, содержать LinearLayout a ). Когда вы добавляете View , вы захотите передать соответствующие параметры макета для его позиционирования и т.д.

  2. Вы можете использовать setVisibility() on a View , чтобы скрыть его или сделать его видимым. (Возможно, установка ширины и высоты на ноль может иметь тот же эффект.)

  3. … и, возможно, многие другие возможности, в зависимости от того, чего именно вы хотите достичь. Например, если вы хотите показать две несколько разные композиции пользовательского интерфейса в зависимости от выбранного действия, вы можете просто использовать отдельные Activity классы в целом, или вы можете переключаться между макетами с помощью ViewFlipper , и так далее.