下記のブラシペイント効果を作成したいと思います。私はこれをどうやってやるべきか、どこから始めるのか分かりません。 Web上でソリューションを検索すると、有用な結果が得られませんでした。どんな助けもありがとう!Androidでのブラシペイントアニメーション効果
2
A
答えて
3
これを行うには多くの方法があります。可能な限り最良の方法は、おそらく第三者のツールでアニメーションをレンダリングし、それをデバイス上で再生することですが、さらに簡単な方法がいくつかあります。例えば、ValueAnimator
といくつかのドロワーブルまたはAnimationDrawable
を使用するだけです。このようなもの。
この回答ではValueAnimator
バージョンのデモンストレーションを行います。
- ブラシ
- 塗料用
背後ブラシ葉:このアニメには2つの部分があります
:結果は次のようになります。ブラシ私はブラシの透明なPNG画像を使用します。ブラシが残す塗料は、背景色が黒色のFrameLayout
です。私はこのように私のレイアウトに配置した容器としてFrameLayout
を使用して
:
<?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"
android:background="@android:color/white">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="100dp">
<FrameLayout
android:id="@+id/paint"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:background="@android:color/black"/>
<ImageView
android:id="@+id/brush"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/paint_brush"/>
</FrameLayout>
</FrameLayout>
アニメーションを実行するためのコードは非常に簡単です:
final View brush = findViewById(R.id.brush);
final View paint = findViewById(R.id.paint);
final ValueAnimator animator = ValueAnimator.ofFloat(0.0f, 1.0f);
animator.setRepeatCount(ValueAnimator.INFINITE);
animator.setDuration(6000L);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
final float progress = (float) valueAnimator.getAnimatedValue();
paint.setTranslationX(-paint.getWidth() * (1.0f - progress));
brush.setTranslationX(paint.getWidth() * progress);
}
});
animator.start();
ValueAnimator
がで無限に繰り返すように設定されていますこの例。 AnimatorUpdateListener
では、translationXプロパティを更新して、ペイントとブラシを画面全体に移動させます。ペイントは画面の幅によってオフセットされるので、画面からずっと離れて開始し、ブラシの後ろに移動して、ブラシペインティングの錯覚を画面に表示します。
ご不明な点がありましたらお気軽にお問い合わせください。
関連する問題
- 1. Androidでウェブビューのページカール効果
- 2. Androidでのトランジション効果ImageView
- 3. Androidタッチアニメーション効果
- 4. Androidイメージの効果
- 5. Androidのゲーム効果
- 6. オーディオスペクトラム効果iOS/Android
- 7. Androidのリストビューアイテムのスライドインボタン効果
- 8. Androidマーケットタブフラグメントなしの効果
- 9. iOSのAndroid Coordinatorレイアウト効果
- 10. Android ImageButton - イメージのリップル効果
- 11. Androidの勾配エンボス効果
- 12. AndroidブラウザでのCSS3の効果
- 13. Androidでの万華鏡の効果
- 14. Androidでのアクティビティのページカール効果
- 15. Androidでの色合い効果
- 16. Androidライブ壁紙フェード効果
- 17. Android - 画像ワープ効果
- 18. レイアウト上のAndroidページのカール効果
- 19. Androidリストビューのぼかし効果を
- 20. Androidのデフォルトサウンド効果を再生
- 21. モバイルタッチデバイス(iPhone、Android、Windows)のホバー効果
- 22. Androidビデオの表示変換と効果
- 23. AndroidのScrollViewでTextView.postDelayedを使用したタイプライター効果
- 24. iOS CoreImage Androidでのインスタント写真効果、作成方法は?
- 25. iOSはAndroidのオーバースクロール効果が好きです
- 26. AndroidでCollapsingToolbarLayoutを使用した視差効果のスティッキーtoobarタイトル
- 27. Android adjustResize - フェード効果を無効にする方法
- 28. CSSと.LESSの余白での不透明効果の効果
- 29. Androidでビデオに効果をプログラムで設定する方法は?
- 30. 他の効果の結果に依存するチェーン効果
あなたのアニメーションはアニメーションGIFなので、私はこの答えを見てみることをお勧めします:http://stackoverflow.com/questions/3660209/display-animated-gif – Peter