3

ライブラリKenBurnsViewを使用していますが、問題があります。

概要またはこの素敵なライブラリには、次のように書かれています。

画像の指定された領域 (私が推測する RectF) からズームまたはパンするようにライブラリに指示できるようにしたいと考えています。独自の TransitionGenerator を実装し、カスタムの generateNextTransition() メソッドを作成する必要があると思いますが、内部で何をすべきかわかりません。

誰でも私を助けることができますか?

ありがとう。エイドリアン

4

1 に答える 1

5

オブジェクトを返す必要がある場所から独自のTransitionGeneratorオーバーライドを実装する必要があります。generateNextTransition()Transition

このgenerateNextTransition()メソッドは次のとおりです。

  1. RectF drawableBounds: に設定されているドローアブルの境界KenBurnsView

  2. RectF viewportKenBurnsViewオブジェクトの境界。

Transitionコンストラクターは次のものを取ります。

  1. RectF srcRect: トランジションの開始時に全体を埋めるドローアブルのサブ長方形KenBurnsView(下図):

ケン・バーンズ効果

ウィキペディアのイラスト

  1. RectF dstRectKenBurnsView:遷移が終了したときに全体を埋めるドローアブルのサブ長方形。

  2. long duration: 遷移の継続時間 (ミリ秒)。

  3. Interpolator interpolator: 動きの性質を定義する補間インスタンス ( AccelerateDecelerateInterpolatorLinearInterpolatorなど)。

最後の遷移が停止した場所からすべての遷移を開始したい場合は、保存dstRectして次の遷移で使用することをお勧めします。srcRectがまさにそれRandomTransitionGeneratorです。srcRectdstRectは異なるサイズを持つことができることに注意してください (ただし、画像を常にシーンに保持したい場合は、両方とも の準長方形にする必要がありますdrawableBounds)。両方のアスペクト比が同じであることが重要ですviewport

于 2015-09-30T20:33:36.463 に答える