У меня есть пользовательский вид, который расширяет представление. Он отображает нарисованные фигуры и позволяет пользователю добавлять эти чертежи посредством рисования событий касания к представлению через onDraw.
Я включил ScaleGestureDetector, чтобы пользователь мог увеличить масштаб в определенном разделе и рисовать, но поскольку я использую однократное нажатие для рисования, они не могут использовать свой палец для панорамирования увеличенного изображения в представлении.
Я попытался включить полосы прокрутки для представления так, чтобы при их увеличении полосы прокрутки отображались и могут использоваться пользователем для панорамирования... но я просто не могу заставить полосы прокрутки отображаться.
По существу, я пытаюсь вызвать метод View awakenScrollBars() в моем методе ScaleListener onScale(), когда пользователь будет увеличен, что вызывает invalidate(). Я включил полосы прокрутки через XML и программно в onCreate(), но я не могу заставить полосы прокрутки быть видимыми. Вот мой XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.package.name.Canvas
    android:id="@+id/canvas"
    android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:focusable="true"
        android:scrollbars="horizontal|vertical" />
</FrameLayout>
И вот мой onCreate():
// set scrollbars
setHorizontalScrollBarEnabled(true);
setVerticalScrollBarEnabled(true);
В onDraw я могу проверить, что полосы прокрутки включены с помощью isHorizontalScrollBarEnabled() и isVerticalScrollBarEnabled(), а awakenScrollBars() в onScale() возвращает true, но полосы прокрутки просто не видны.
Любые предложения о том, как действовать? Содержит пользовательский вид в макете ScrollView, похоже, не является опцией, так как поддерживается только вертикальная прокрутка.
Спасибо,
Пол
