Каков самый простой способ создания строк, которые прокручиваются вместе и состоят из интерактивных представлений переменного размера с одинаковой высотой на Android - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь создать GUI, который выглядит примерно так:

_______________
_|___|___|_|_|_
_|___|___|_|_|_

Каждый прямоугольник является уникальным интерактивным представлением. Прокручивать нужно по горизонтали и вертикали. Необходимо добавить или удалить строки и столбцы. Столбцы должны быть одинаковой ширины.

Я пробовал LinearLayout, содержащий ScrollView, содержащий HorizontalScrollView, содержащий таблицу, содержащую строки таблицы, но только первая строка видна и прокручивается по горизонтали. Он не прокручивается по вертикали.

Я пробовал ScrollView, содержащий HorizontalScrollView, содержащий таблицу, содержащую строки таблицы, но видна только первая строка и прокручивается по горизонтали. Он не прокручивается по вертикали.

Ни одно из найденных мной решений не работает.

Я просматриваю документы и руководства для разработчиков и не могу найти подходящий инструмент. Почему Android делает что-то подобное настолько сложным в изготовлении? Это похоже на базовый c элемент пользовательского интерфейса.

Каким будет самый простой способ достичь такого GUI?

1 Ответ

0 голосов
/ 12 июля 2020

Наконец-то я смог заставить его работать !!! со следующим xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <com.example.hellooboe.FunctionView
        android:layout_width="500dp"
        android:layout_height="500dp">
    </com.example.hellooboe.FunctionView>

    <com.example.hellooboe.FunctionView
        android:layout_width="500dp"
        android:layout_height="500dp">
    </com.example.hellooboe.FunctionView>

    <com.example.hellooboe.FunctionView
        android:layout_width="500dp"
        android:layout_height="500dp">
    </com.example.hellooboe.FunctionView>

</LinearLayout>

FunctionView - это мой пользовательский вид, но вы можете добавить любое представление. Этот xml содержит горизонтальные строки.

Я включил приведенный выше макет (function_holder) в этот xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <HorizontalScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include
            android:id="@+id/layout1"
            layout="@layout/function_holder">
        </include>

        <include
            android:id="@+id/layout2"
            layout="@layout/function_holder">
        </include>

        <include
            android:id="@+id/layout3"
            layout="@layout/function_holder">
        </include>
    </LinearLayout>
    </HorizontalScrollView>
</ScrollView>

Он не прокручивается по диагонали, но работает.

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