安卓:如何旋转线性布局

2022-09-04 08:04:33
<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 度。*我不想使用动画*,有没有其他方法可以实现这一点?请帮帮我。提前致谢!!


答案 1

由于您不需要动画,因此从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在这个帖子中的答案确实有效。对于 Pete 的答案,他正在使用动画,但您可以将动画持续时间设置为 0,以便在没有任何可见动画的情况下执行此操作。据我所知,没有其他直接的方法。


答案 2

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

喜欢这个

enter image description here


推荐