Android:如何旋转LinearLayout

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>

我想要将“linear”布局旋转90度,且*不想使用动画*,是否有其他方法可以实现?请帮帮我。先谢谢!


1
你想在XML中旋转它还是通过编程(例如onClick)实现? - EGHDK
你试过这个吗?https://dev59.com/QXI-5IYBdhLWcg3wSGQB - Sver
使用android:rotation标签 - stinepike
2个回答

21

如果你不需要动画效果,从API 11或更高版本开始,你可以使用

android:rotation = "90"
在XML本身中旋转。如果您想在代码中执行此操作,例如在单击按钮后,则可以使用其Java等效项。
 yourLayout  = (LinearLayout) findViewById(R.id.your_id);
 yourLayout.setRotation(90.0f);

在API 11之前不支持android:rotation属性。请参阅文档

android:rotation

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

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

这也可以是引用资源(形式为“@[package:]type:name”)或主题属性(形式为“?[package:][type:]name”)的形式,其中包含此类型的值。

这对应于全局属性资源符号旋转。

编辑:看到评论后

是的,我知道这个方法在API级别11中。但低版本的api怎么办?

我认为你们需要自己旋转视图。我相信在这个线程中的lchorus和Pete's的回答是可行的。对于Pete's的回答,他使用动画,但您可以将动画持续时间设置为0,以避免任何可见动画。据我所知,没有其他简单直接的方法。


是的,我知道这个方法在API 11级中可用。但是低版本的API呢?谢谢。 - Rocky

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接