Android:如何旋转LinearLayout

时间:2012-12-04 08:27:22

标签: java android

<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度。 *我不想使用动画* ,还有其他方法可以实现吗? 请帮帮我。谢谢!

2 个答案:

答案 0 :(得分:18)

由于您不需要API 11或更高版本的动画,您可以使用

android:rotation = "90"

以XML本身旋转。如果你想在代码中这样做,比如按一下按钮,那么你也可以使用它的java equalant

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

但不是在API 11之前。请参阅documentation

  

<强>机器人:旋转

     

以视角度旋转视图。

     

必须是浮点值,例如“1.2”。

     

这也可能是对资源的引用(在表单中)   “@ [package:] type:name”)或主题属性(在表单中   “?[package:] [type:] name”)包含此类型的值。

     

这对应于全局属性资源符号轮换。

编辑:看到评论后

  

是的,我在API级别11中知道这种方法。但是如何降低api   水平?

我认为你可以自己轮换视图。我相信lchorus和Pete在this线程中的答案确实有效。对于Pete的回答,他正在使用动画,但您可以将动画持续时间设置为0,而无需任何可见动画。据我所知,没有其他直接的方式..

答案 1 :(得分:3)

使用此库可以旋转整个视图层次结构https://github.com/rongi/rotate-layout

喜欢这个

enter image description here