2010-10-30 2 views
0

Прежде всего, я начинаю заниматься разработкой Android; Я проводил много исследований о том, как выполнять различные задачи, которые я пытаюсь выполнить. Мне еще предстоит найти подобную проблему, поэтому я прошу об этом.Хранение строки заголовка на конкретных макетах, использующих ViewFlipper, и переходы не работают должным образом

Это многополярный вопрос.

Обзор программы и проблем: У меня есть программа (для Android 2.1 и выше), которая имеет несколько полноэкранных действий. Я должен иметь другую анимацию для перехода к каждому из них. Поэтому я переконфигурировал пару файлов и сделал ViewFlipper для выполнения переходов. К сожалению, некоторые из этих действий используют заголовок. В то же время переходы, которые я пробовал применять на основе учебников, которые я нашел в Интернете, работают не так, как ожидалось. Переход начинается, второй экран отображается (затухает), а фон черный, так как второй экран приближается к завершению перехода, первый экран снова появляется перед исчезновением.

Вопрос 1: Есть ли способ отображения некоторых макетов с заголовком и некоторыми без? Если нет, то есть ли способ изменить переход, используемый при использовании startActivity?

Вопрос 2: Существует ли какой-либо способ перехода к постепенному исчезновению, если он не мигает исходным экраном? Я посмотрел вопрос «мерцания», но решения для моего проекта не работают.

Вопрос 3: Аналогично второму вопросу первый отображаемый макет - это экран загрузки, а затем главный экран. Это происходит просто отлично, но по какой-то причине отображается экран загрузки, затем открывается слайд (как если бы вы вызывали startActivity), а затем снова исчезает (на этот раз с заголовком, который не должен быть там), затем переключается на на главном экране. Что может быть здесь?

Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать.

+0

Можете ли вы разместить свой код ViewFlipper. Кроме того, вы переключаетесь между видами деятельности или между видами? –

ответ

0

Q1: да, это возможно, вы можете установить флаг для каждого вида деятельности

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 

или в XML с помощью стиля:

<item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 

Q2: да, это должно быть обычный способ. Но чтобы ответить на ваш вопрос, нам нужно увидеть код, который вы используете. Если вы хотите изменить переходы деятельности (не смотреть), вы можете поместить в это onCreate метод:

super.overridePendingTransition(R.anim.bounce, R.anim.fadeout); 

, чтобы определить, какие анимации, чтобы показать, когда активность попадает на экран. Вы можете использовать тот же метод в onFinish().

Q3: как Q2: необходимо увидеть ваш код.

+0

Спасибо за ответ: Q1: Я использую только полноэкранный флаг, но который скрывает статус (который я хочу), но мне нужно, чтобы скрыть заголовок. Я знаю, что могу изменить это при запуске нового действия, но он не работает после создания активности. Я попробовал изменить стили и установить параметры окна. Q2: Я пробовал это только сейчас, и это в основном устраняло Q1, потому что я снова использую Activites (что может изменить видимость названия). Он также удалил Q3. – rcmaniac25

+0

Выйти из пространства комментариев: это вызывает еще одну проблему с Q2, похоже, что она работает для перехода на другую активность, но не «от» активности, даже когда происходит анимация выхода/ввода. Я забыл упомянуть, что одна из анимаций - трехмерный флип, я не уверен, что это будет возможно с помощью этого метода, но я увижу, смогу ли я это сделать. Если у вас есть другие идеи или вопросы, не стесняйтесь спрашивать. Еще раз спасибо. – rcmaniac25

+0

Если вы используете 3D-флип, то есть вокруг оси y, вы должны использовать ActivityGroup с двумя встроенными действиями. Я сделал то же самое раньше. Не уверен, что он также работает с двумя автономными действиями, никогда не пробовал. Это означало бы, что вам нужно будет повернуть активность во время создания около 90 градусов, прежде чем вы ее покажете. –