Android:在横向模式下,如何在屏幕的右/左边缘布局按钮

时间:2014-11-15 21:41:34

标签: android layout android-linearlayout landscape portrait

我的应用程序旨在用于纵向模式。应用程序本身被锁定在横向模式(在清单中),因为我正在使用OpenCV JavaCameraView。

我想在屏幕的底部边缘放置一排按钮(用户看到它)。这是屏幕的右侧,就像手机看到的一样。我尝试过使用LinearLayout并使用重力设置进行游戏,但是这会定位按钮,使文本面向横向;例如当手机处于纵向模式(按预期)时,文本的方向是指向文本底部指向左侧(因为它已被告知处于横向模式)。

有什么方法可以让按钮和LinearLayout忽略纵向/横向设置并强制它们按照我的意愿行事吗?

这是我当前活动的.xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:opencv="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<org.opencv.android.JavaCameraView
    android:id="@+id/main_activity_surface_view"

    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

<ImageView
    android:id="@+id/recordingIconImageView"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"


    android:src="@drawable/circle_red"
    android:visibility="invisible" />

    <TextView
        android:id="@+id/movement"

        android:rotation="270"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"

        android:text=""
        android:textSize="20sp"
        android:textStyle="bold"
        android:textColor="#FF0000" />


<LinearLayout
    android:id="@+id/button_row_linear_layout"

    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"

    android:orientation="vertical" >

    <Button
        android:id="@+id/button_retry"

        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:rotation="270"
        android:layout_weight="1"

        android:onClick="captureButtonPressed"
        android:text="Retry" />

    <Button
        android:id="@+id/button_start"

        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:rotation="270"
        android:layout_weight="1"

        android:onClick="captureButtonPressed"
        android:text="Start" />

    <Button
        android:id="@+id/button_next"

        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:rotation="270"
        android:layout_weight="1"

        android:onClick="captureButtonPressed"
        android:text="Next" />
</LinearLayout>
</RelativeLayout>

***编辑: 添加图像以澄清(如评论中所示)并已经自己切换到相对布局,因此.xml也会更新。当前状态的图像:

Screenshot

正如你所看到的,我已经得到了我想要的按钮(使用android:rotation =&#34; 270&#34;)。现在有两个问题:

1)TextView的文本被截屏。我很确定这是因为尺寸约束的计算就好像它没有旋转一样,只有在布局发生之后它才会旋转(这是一个猜测,但看起来好像发生了什么)

2)我似乎无法扩展按钮以占用线性布局中的可用空间。

非常欢迎任何建议!

干杯。

0 个答案:

没有答案