Лучшее решение для объединения / включения файла макета XML несколько раз в макете активности - PullRequest
0 голосов
/ 08 марта 2012

Я создаю приложение на основе карточек в качестве проекта для колледжа, и мне нужен горизонтальный скроллинг карт. Я создал XML-файл для самого дизайна карточки:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="@drawable/whitenote" android:padding="3dp">

    <ImageButton
        android:id="@+id/imageButtonPins"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" android:background="@color/transparent" android:src="@drawable/pinselector"/>

    <TextView
        android:id="@+id/textViewWord"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageButton1"
        android:layout_centerHorizontal="true"
        android:text="Word" android:textColor="@color/black" android:paddingTop="30dp" android:textSize="20dp"/>

    <TextView
        android:id="@+id/textViewMeaning"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textViewWord"
        android:layout_centerHorizontal="true"
        android:text="Meaning" android:textColor="@color/black"/>

</RelativeLayout>

Я также создал файл класса.

В макете упражнения у меня есть еще несколько элементов, и поэтому необходимо линейное расположение на корневом уровне. Мне удалось отобразить одну карточку в тестовых целях, используя и используя инфлятор.

Вопрос
И в способе, и в разметке я не смог заставить работать ImageButton. У меня вопрос, как заставить кнопку работать.

Обновление: удалось заставить работать ImageButton с помощью. Понял, что я должен обрабатывать событие onclick в действии, а не класс Custom Adapter. Это должно позволить мне также получать слова, пока я могу отслеживать «текущую» карточку на дисплее

Кроме того, каков наилучший способ прокрутки для приложения с флэш-картой? Мои текущие планы на данный момент состоят в том, чтобы использовать HorizontalScrollView и немного его настроить, потому что мне нужно (а) проведите пальцем, чтобы флэш-карта переместилась только на следующую (б) мне нужно сосредоточиться на «текущей» карточке, так как некоторые данные из его дочерних представлений (т. е. слова).

Ответы [ 3 ]

1 голос
/ 08 марта 2012

Рассматриваете ли вы фрагменты?

Вы можете получить некоторую помощь по ViewPager здесь. Это поддерживается в Android 3.0 или выше или Android 1.6 с пакетом совместимости.1006 *http://geekyouup.blogspot.com/2011/07/viewpager-example-from-paug.html

Если вы не хотите использовать фрагменты, вы можете просто использовать Галерею.Таким образом, вы можете добиться горизонтальной прокрутки.(как в приложении Amazon) без сложного ViewPager.

1 голос
/ 08 марта 2012

A HorizontalScrollView или Gallery, вероятно, являются наиболее прямым способом реализации этого. Я не использую Gallery - но хорошо бы хотя бы знать, что он существует.

Если вы хотите намного более надежную реализацию, я согласен с dcanh121 и думаю, что вам стоит проверить Fragment на основе ViewPager. Это даст больше возможностей, чем просто просмотр, но может быть излишним в зависимости от цели. fragment является в основном странным потомком Activity и View, но не указывайте меня на этом.

Кроме того,

Раздувание макетов обходится дорого, поэтому постарайтесь раздувать XML только до View один раз и повторно использовать этот View объект. Старайтесь не раздувать XML каждый раз, когда рисуется новая карта.

1 голос
/ 08 марта 2012

Для второй части вашего вопроса, посмотрите на ViewPager .

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