Upgrade to Pro — share decks privately, control downloads, hide ads and more …

初めて自作ViewのAARライブラリを公開した話

 初めて自作ViewのAARライブラリを公開した話

At 2019/03/18 Otemachi.apk

アニメーションはこちらで見れます
https://docs.google.com/presentation/d/1BRDNhsLdE0HKMxbAhMtGKF9gFC99DuiBDD981Wg8KfI/edit?usp=sharing

yu mitsuhori

March 18, 2019
Tweet

More Decks by yu mitsuhori

Other Decks in Programming

Transcript

  1. 初めて自作Viewの
    AARライブラリを公開した話
    Yu Mitsuhori
    @1013Youmeee
    2019/03/18
    Otemachi.apk

    View Slide

  2. アジェンダ
    1. 自己紹介
    2. 発表の目的
    3. 作ったもの(Clipper)紹介
    4. Tips
    5. まとめ

    View Slide

  3. 自己紹介
    - 三堀 裕(youmitsu, youmeee)<-悩み中
    - Twitter: @1013Youmeee
    - Github: youmitsu
    - 新宿の隣でヘルスケア系のAndroidアプリを開発

    View Slide

  4. 発表の目的
    - 作ったライブラリの紹介
    - ライブラリを実装する上で得られた知見の情報共有

    View Slide

  5. AAR?
    Androidのアプリモジュールの依存関係として使用できるライブラ
    リのこと
    JARとは違い、AndroidManifestやリソースファイルをライブラリ内
    に含めることができる
    https://developer.android.com/studio/projects/android-library

    View Slide

  6. 作ったAAR ~Clipper~
    - オーバーラップしたViewを生成し、指定したViewを簡単にくり
    抜くことができる
    - チュートリアル画面を作る上で便利(なはず)
    - 全てKotlinで実装
    - API level 21 or higher
    - MIT Licence
    - https://github.com/youmitsu/Clipper

    View Slide

  7. 例えば、
    このようなView

    View Slide

  8. こうできます

    View Slide

  9. Usage(Install)
    build.gradle(プロジェクトルート)
    app/build.gradle

    View Slide

  10. Initialize ClipperLayout and execute clipping
    1. ClipperLayoutの初期化及び説明用Viewの作成
    (DescriptionViewというインスタンス生成)
    2. どのViewをくり抜くか(ClipEntryの作成)
    3. clipの実行

    View Slide

  11. Case of multiple ClipperLayout
    - ClipBundleExecutorを使うと、まとめて複数のClip実行可能
    - 生成にはClipper.createBundleExecutor()というFactoryメソッドを
    使う
    Clip時のアニメーションはここで
    Animatorを指定

    View Slide

  12. ClipAnimatior
    DefaultClipAnimator CircleRevealAnimator
    None

    View Slide

  13. Tips:
    〜ViewAnimationUtils.createCircularReveal()〜
    - 円形に広がるアニメーションを実装できる
    - API level 21〜
    - パラメータ
    - view: アニメーション対象のView、 centerX, centerY: 円形の中心座標
    - startRadius: アニメーション開始時の円の半径
    - endRaduis: アニメーション終了時の円の半径
    https://developer.android.com/reference/android/view/ViewAni
    mationUtils

    View Slide

  14. まとめ、所感
    - AARライブラリは意外と作れる!
    - どこまで汎用的、強制すべきかを考えるのが難しい、、
    - まだ完成形ではないので、地道に機能追加、バグを無くしてい
    きたい
    - ToolbarのItem取得するHelper的なクラスがあると楽なので、
    実装していきたい
    - FBいただけると助かります!!

    View Slide

  15. ご静聴ありがとうございました。

    View Slide