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

4

2 回答 2

20

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

android:rotation = "90"

在 XML 本身中旋转。如果您想在代码中执行此操作,例如在单击按钮后,那么您也可以使用它的 java 等号

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

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

机器人:旋转

视图的旋转,以度为单位。

必须是浮点值,例如“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 回答