1

Honeycombより前のAPIを使用してXMLでビューをローテーションすることは可能ですか?おそらくサポートパッケージを使用しますか?または、Androidの垂直(回転)ラベルで説明されているように、カスタムクラスを作成する唯一の方法です

編集:必要なのは静的に回転されたビューです(具体的にはTextViewですが、ビューでそれを行う方法を知っていれば十分だと思います)。ハニカムから始めて、XMLで使用できる回転属性があります。そのようなものが必要です。

私が今まで見つけた唯一のことは、持続時間0のアニメーションを使用することですが、これはまだ開始時に少し動くので、それは望ましくありません。ビューを非表示に設定し、アニメーションにリスナーをアタッチして、アニメーション終了コールバックでビューを表示しようとしましたが、奇妙な結果になりました...何らかの理由でビューの位置が変更されました。

4

2 に答える 2

2

最良の方法は、リンクしたカスタムサブクラスの実装を使用することです。この実装では、キャンバスを回転させ、ビューのサイズを適切に変更できます。これにより、描画されるテキストと一致するようにビューの境界も設定されます。

HCの前にビューを外部で変換する唯一の方法は、アニメーションフレームワークでありAnimation、期間が0でfillAftertrueに設定されビューにを適用すると機能しますが、一部のデバイスでは、ビューが通常どおりにレンダリングされるため、ちらつきが発生する場合があります。最初のフレームで、その時点から最終的な位置にアニメーション化されます。ビューを非表示にして少し遅れて表示することでこれを回避できます...しかし、ハッキングがどのように積み重なっているかを確認できます。

さらに、AnimationHCの前に実行してもビューの境界自体は変換されないため、レイアウトの観点からの位置は水平方向(非回転)テキスト。

単純なサブクラスは間違いなく推奨される方法です。

HTH

于 2012-06-18T21:36:49.653 に答える
1

Honeycombより前のAPIを使用してXMLでビューを回転させることは可能ですか?

ありますRotateAnimation。ただし、達成しようとしていることによっては、それがニーズを満たさない場合があります。

于 2012-06-14T10:58:15.923 に答える