web-dev-qa-db-ja.com

Lollipop以前のデバイス用の循環表示を作成する(Android)

Lollipop以前のデバイス用にこの新しいAnimatorを入手することはできますか?

私は初心者で、公式の ドキュメント からJavaファイルを取得しようとしていますが、本当に迷ってしまいました。見つける方法がわかりません。

29

私はあなたのための図書館を見つけます。 円形公開 、2.3デバイスと互換性があります。

お役に立てば幸いです!!

これは Alejandro's および BadYous's answer の更新です。

  1. 最高のライブラリはまだ Circular Reveal です。
  2. 正しい説明はcompile 'com.github.ozodrukh:CircularReveal:2.0.1'
  3. ViewAnimationUtilsに正しいインポートを使用する

    import io.codetail.animation.ViewAnimationUtils;
    
7
Huseyin

はい! CircularReveal libraryを使用できます:@ Alejandroのように。

ただし、ライブラリの依存関係を次のように変更する必要があります。

dependencies {
    compile 'com.github.ozodrukh:CircularReveal:1.1.1' //without "@aar" contrary to what the documentation says
}

そうでない場合、Lollipop以前のバージョンで実行されている一部のデバイスで例外が発生します。

4
BadYous

最適なライブラリは次のとおりです。 CircularReveal

つかいます :

通常のRevealFrameLayoutRevealLinearLayoutを使用します

<io.codetail.widget.RevealFrameLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <!-- Put more views here if you want, it's stock frame layout  -->

    <Android.support.v7.widget.CardView
...
        />

</io.codetail.widget.RevealFrameLayout>

および:

  View myView = findView(R.id.awesome_card);

    // get the center for the clipping circle
    int cx = (myView.getLeft() + myView.getRight()) / 2;
    int cy = (myView.getTop() + myView.getBottom()) / 2;

    // get the final radius for the clipping circle
    int finalRadius = Math.max(myView.getWidth(), myView.getHeight());

    SupportAnimator animator =
            ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);
    animator.setInterpolator(new AccelerateDecelerateInterpolator());
    animator.setDuration(1500);
    animator.start();

このライブラリはシンプルであり、Lollipop以前では非常に便利に動作します。

3

Googleがついに移植しました!!!現在は、CircularRevealCompatという名前でマテリアルコンポーネントライブラリにあります。

0
kyay

これがあなたを助けることを願っています...それ以外の場合はこれを使用してください http://Pulse7.net/Android/android-create-circular-reveal-animation-and-ripple-effect-like-whatsapp/

compile ('com.github.ozodrukh:CircularReveal:1.1.1@aar') {
    transitive = true;
0
Arjun Singh