Обложка в Android - PullRequest
       6

Обложка в Android

0 голосов
/ 25 августа 2010

Я пытаюсь создать приложение, в котором при поиске определенного животного из веб-службы я получаю все имена животных, которые есть на моем сервере, вместе с их URL-адресами изображений. Что я хочу сделать, так это просеять эти изображения, как вы можете в случае обложки альбома.

Если мне придется кэшировать (то есть отправлять) изображения с моим приложением, я сделаю это для улучшения впечатлений. Тем не менее, главный вопрос, который у меня возникает, заключается в реализации такого рода функциональности Album Art.

Что мне использовать? 2D, 3D анимация? OpenGl? Любые образцы с благодарностью.

1 Ответ

1 голос
/ 25 августа 2010

Это зависит от того, какого типа эффекты или переходы вы хотите достичь, но я бы порекомендовал использовать представления Android.

Если вы хотите прокрутить вертикальный список изображений, просто используйте просмотр списка, содержащий ImageView. Посмотрите это демо API: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List8.html

Если вы хотите прокрутить по горизонтали, взгляните на галерею http://developer.android.com/guide/tutorials/views/hello-gallery.html

Что касается кэширования, эти представления поддерживают загрузку по требованию. Это делается в вашем адаптере методом getView. Этот метод вызывается, когда пользователь прокручивает ваши изображения. Вопреки тому, что показывают примеры, вы не всегда должны создавать новое представление в этом методе. Если convertView не является нулевым, это означает, что вы должны преобразовать это представление, чтобы оно содержало ваш новый контент.

Теперь вы, конечно, можете сделать это, используя OpenGL. Но вам придется начать с нуля, и вам придется переписать большую часть того, что предыдущие обзоры (Галерея, ListView) уже написали для вас. Так что я бы порекомендовал OpenGL, только если вы хотите, чтобы между вашими фотографиями были красивые анимации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...