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

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

    まとめ
  3. 自己紹介 - 三堀 裕(youmitsu, youmeee)<-悩み中 - Twitter: @1013Youmeee - Github:

    youmitsu - 新宿の隣でヘルスケア系のAndroidアプリを開発
  4. 発表の目的 - 作ったライブラリの紹介 - ライブラリを実装する上で得られた知見の情報共有

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

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

    API level 21 or higher - MIT Licence - https://github.com/youmitsu/Clipper
  7. 例えば、 このようなView

  8. こうできます

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

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

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

    Animatorを指定
  12. ClipAnimatior DefaultClipAnimator CircleRevealAnimator None

  13. Tips: 〜ViewAnimationUtils.createCircularReveal()〜 - 円形に広がるアニメーションを実装できる - API level 21〜 - パラメータ

    - view: アニメーション対象のView、 centerX, centerY: 円形の中心座標 - startRadius: アニメーション開始時の円の半径 - endRaduis: アニメーション終了時の円の半径 https://developer.android.com/reference/android/view/ViewAni mationUtils
  14. まとめ、所感 - AARライブラリは意外と作れる! - どこまで汎用的、強制すべきかを考えるのが難しい、、 - まだ完成形ではないので、地道に機能追加、バグを無くしてい きたい - ToolbarのItem取得するHelper的なクラスがあると楽なので、

    実装していきたい - FBいただけると助かります!!
  15. ご静聴ありがとうございました。