Справка по макету с пользовательским видом - PullRequest
0 голосов
/ 10 августа 2011

Я играю с 2D-графикой в ​​пользовательском представлении. До сих пор у меня получалось рисовать то, что я хочу (указать данные из массива), но я хочу, чтобы чертеж масштабировался и мог расширять его за пределы экрана (например, 1 секунда данных на ширину экрана). Метод, который я использую для рисования, основан на getHeight и getWidth, чтобы установить границы информации на экране. Я использую ширину экранов, чтобы увеличить холст в onDraw до нескольких размеров экрана (в зависимости от времени данных).

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

    <HorizontalScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
    >
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
        >
            <view class="com.box.sand.SandGraph$GraphView"
                android:id="@+id/graph"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
            />
        </LinearLayout>
    </HorizontalScrollView>

Но когда я вставляю это, onDraw моего представления никогда не вызывается.

1 Ответ

0 голосов
/ 10 августа 2011

Это может решить вашу проблему .

Хотя я сомневаюсь, что он имеет функцию масштабирования, вы сможете реализовать все остальное, о чем вы просили, используя это.

EDIT:

Иерархия будет выглядеть следующим образом:

<HorizontalScrollView ... >
    <LinearLayout android:orientation="horizontal" >
        <Content goes here />
    </LinearLayout>
</HorizontalScrollView>
...