Подтвердить что ты не робот

Как создать полку, как просмотр в Android?

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

Я могу написать представление полки, которое перемещается горизонтально, но оно не полностью работает. Я использовал файл xml для элементов представления, которые включали изображение, текст и кнопку. Я написал класс, который расширяет AdapterView, чтобы создать настроенный ListView, который я назвал "shelf view". К сожалению, моя программа показывает одну строку, и я не могу использовать ее для нескольких строк.

enter image description here

4b9b3361

Ответ 1

Последнее обновление: Теперь я могу обнаружить новый способ создания полкинга лучше, чем предыдущее решение. Я описал это в CodeProject

Кстати, в этом приложении я использовал два класса:

  • Класс HorizontalListView, расширяющий AdapterView. Он загружен из GitHub

  • Библиотека Quaere используется почти так же, как Linq2Object в .Net. Вы можете скачать здесь.


Апр 22 '12:

Есть несколько способов реализовать представление полки, в котором есть две функции (горизонтальная и вертикальная прокрутка). Я пытаюсь написать программу, которая может работать динамически. Это пример приложения имеет XML файл и класс java showShelfView.

Итак, вы можете увидеть мое приложение:

основной файл XML:. Сначала добавьте следующий код в main.XML

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/sclView">
    <TableLayout
            android:id="@+id/tblLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" 
           android:padding="0dp">
    </TableLayout>
</ScrollView>

showShelfView Класс: Внутренний TableLayout добавляет несколько равных HorizontalScroll с количеством строк. Также внутри любой TableRow добавить изображение.

Не забудьте установить изображение полки для фона Row:

enter image description here

public class showShelfView extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        int numRow = 4;
        int numCol = 8;

        TableLayout tblLayout = (TableLayout) findViewById(R.id.tblLayout);

        for(int i = 0; i < numRow; i++) {
            HorizontalScrollView HSV = new HorizontalScrollView(this);
            HSV.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

            TableRow tblRow = new TableRow(this);
            tblRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
            tblRow.setBackgroundResource(R.drawable.bookshelf);

            for(int j = 0; j < numCol; j++) {
            ImageView imageView = new ImageView(this);
                imageView.setImageResource(R.drawable.book1);

                TextView textView = new TextView(this);
                textView.setText("Java Tester");
                textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

                tblRow.addView(imageView,j);
            }

            HSV.addView(tblRow);
            tblLayout.addView(HSV, i);
        }
    }

}