帶有手勢控制的ImageView和FrameLayout:GestureViews

jopen 9年前發布 | 19K 次閱讀 Android開發 移動開發 GestureViews
帶有手勢控制和位置動畫的ImageView和FrameLayout。這個庫的目的是讓圖片查看盡可能流暢和方便,同時方便開發者把它集成到自己的項目中。

Usage

Add dependency to yourbuild.gradlefile:

compile 'com.alexvasilkov:gesture-views:2.0.0'

Just addGestureImageViewto your layout:

<com.alexvasilkov.gestures.views.GestureImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Or addGestureFrameLayout:

<com.alexvasilkov.gestures.views.GestureFrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- GestureFrameLayout can contain only one child -->

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- Layout content goes here -->

    </FrameLayout>

</com.alexvasilkov.gestures.views.GestureFrameLayout>

Setup

GestureViewscan be customised usinggestureView.getController().getSettings():

gestureView.getController().getSettings()
        .setMaxZoom(2f)
        .setPanEnabled(true)
        .setZoomEnabled(true)
        .setDoubleTapEnabled(true)
        .setRotationEnabled(false)
        .setOverscrollDistance(0f, 0f)
        .setOverzoomFactor(2f)
        .setFillViewport(false)
        .setFitMethod(Settings.Fit.INSIDE)
        .setGravity(Gravity.CENTER);

Note: example above shows default values, you will not need to set them yourself.

See also full settings list with descriptions.

ViewPager

If you plan to useGestureViewsinsideViewPageryou should additionally call:

gestureView.getController().enableScrollInViewPager(viewPager);

Listeners

You can listen for state changes (position, zoom, rotation):

addOnStateChangeListener(OnStateChangeListener listener)

removeOnStateChangeListener(OnStateChangeListener listener)

You can also listen for additional gestures:

  • onDown
  • onSingleTapUp
  • onSingleTapConfirmed
  • onLongPress
  • onDoubleTap

with:

setOnGesturesListener(OnGestureListener listener)

Animations

See Basic animations and Advanced animations pages for more info.

Custom views

See Custom views page.


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!