13
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg2x" >
<LinearLayout 
    android:id="@+id/linear"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:background="#FF00FF00"
  >
    <TextView 

        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#FF000000"
        android:textSize="70dp"
        android:text="test linearlayout"
        />

</LinearLayout>

次に、「線形」レイアウトを90度回転させます。*そして私はアニメーションを使いたくない*、これを達成する他の方法はありますか?助けてください。よろしくお願いします!

4

2 に答える 2

20

API 11以降ではアニメーションが不要なため、以下を使用できます。

android:rotation = "90"

XML自体で回転します。たとえば、ボタンをクリックした後など、コードでそれを実行したい場合は、そのjavaイコールも使用できます

 yourLayout  = (LinearLayout) findViewById(R.id.your_id);
 yourLayout.setRotation(90.0f);

ただし、API11より前ではありません。ドキュメントを参照してください。

android:rotation

ビューの回転(度単位)。

「1.2」などの浮動小数点値である必要があります。

これは、このタイプの値を含むリソース( "@ [package:] type:name"の形式)またはテーマ属性( "?[package:] [type:] name"の形式)への参照である場合もあります。 。

これは、グローバル属性リソースシンボルのローテーションに対応します。

編集:コメントを見た後

ええ、私はAPIレベル11でこのメソッドを知っています。しかし、より低いAPIレベルはどうですか?

ビューを自分で回転させる必要があると思います。そして、私はこのスレッドのlchorusとPeteの答えがうまくいくと信じています。ピートの答えでは、彼はアニメーションを使用していますが、アニメーションの継続時間を0に設定して、アニメーションが表示されないようにすることができます。私の知る限り、他に簡単な方法はありません。

于 2012-12-04T08:33:59.237 に答える
3

このライブラリを使用すると、ビュー階層全体を回転できますhttps://github.com/rongi/rotate-layout

このような

ここに画像の説明を入力してください

于 2014-04-28T12:30:42.287 に答える