Как программно перевернуть ImageButton в Android

У меня есть 3 ImageButton в моем приложении. Я хочу добавить к ним приятный эффект перелистывания. Что я хочу, так это то, что если я нажму на одну кнопку, то будет больше кнопок, так как всего 3, поэтому другая кнопка должна быть перевернута. Если кто-то видел приложение «Говорящий Том», то я хочу, чтобы в моем приложении было то же самое. Вот некоторые снимки этого приложения Talking Tom...

.введите здесь описание изображениявведите здесь описание изображения

Посмотрите на два изображения. На изображениях видно, что справа внизу есть кнопка со значком FLIP. При нажатии на нее появляется еще одна кнопка со значком TEA и SCRATCH слева внизу. Итак, что происходит, когда я нажимаю на кнопку-переключатель, кнопки TEA & SCRATCH переворачиваются соответственно.

Я хочу сделать то же самое. Я нашел учебные пособия, которые находятся в разделе «Просмотр», «Изображения», и для этого они использовали отдельный файл макета. Я думаю, что это не так в моем приложении. Если у кого-то есть какие-либо идеи по этому поводу, пожалуйста, дайте мне знать....

Спасибо


person Scorpion    schedule 29.01.2012    source источник
comment
или.. программно просто измените изображение.. изображения.   -  person JoxTraex    schedule 29.01.2012


Ответы (2)


Для этого вы можете использовать LevelListDrawable. В XML вы можете определить его с помощью тега <level-list>:

<?xml version="1.0" encoding="utf-8"?>
<level-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/scratch"
        android:maxLevel="0" />
    <item
        android:drawable="@drawable/tea"
        android:maxLevel="1" />
</level-list>

Затем вы можете управлять уровнем, вызывая setLevel() для drawable или setImageLevel() для ImageButton, который отображает drawable. Вы бы сделали это из прослушивателя кликов для флип-кнопки.

person Ted Hopp    schedule 29.01.2012
comment
Я попробовал ваше решение, но почему-то оно не работает для меня. Не могли бы вы предложить еще какую-нибудь идею в этом. - person Scorpion; 11.09.2012
comment
@Scorpion - я не знаю, что вы пробовали или что не сработало. Можете ли вы отредактировать свой пост и предоставить эти данные? - person Ted Hopp; 11.09.2012

Может быть, уже слишком поздно, а может и нет, но просто уведомляю, что я разработал новую библиотеку FlipView, которая включает базовые перевернуть анимацию и расширить ViewFlipper. Я имею в виду полностью настраиваемую библиотеку, в которой вы сможете менять любые виды и макеты на любую анимацию и формы, которые вы пожелаете (и многое другое), включая перелистывание изображений Gmail.

Пожалуйста, посмотрите.

person Davideas    schedule 06.11.2015