繁体   English   中英

最小化活动后如何保持吐司方向?

[英]How to keep toast orientation after minimizing activity?

手机始终处于横向模式。

我的活动处于横向模式(并且有横向版本)并且它显示一个祝酒词,它也在横向模式下显示。 就在祝酒之后,我尽量减少活动:

Toast.makeText(getApplicationContext(), "My Toast Message", Toast.LENGTH_LONG).show();
moveTaskToBack(true);

Toast 继续显示,但现在在纵向模式下旋转到 90 度(这可能与主屏幕的模式有关)。

到目前为止,我只发现这个SO post 有同样的问题

有没有办法强制以横向模式显示吐司? (吐司是在横向模式下启动的,所以它不应该旋转 90 度,它应该保持横向模式)

我想要的是:当我按下按钮时,活动消失(然后我们会看到后面的任何应用程序或主屏幕)并显示吐司。 全部处于横向模式。 那可能吗?

我找到了一种方便简单的方法来实现这一目标!

首先,我尝试先显示 Toast 和 moveTaskToBack。 但这没有用。 moveTaskToBack 比定时器强,当手机还在横向模式时,toast 继续出现在纵向模式。

然后我考虑调整 imageView。 如果可以旋转 90 度来显示它会怎样? 这就是解决方案。 有用。

在您的布局中,将以下行添加到您的图像视图(或任何其他元素)以将其旋转 90 度:

android:rotation="90"

然后您必须播放和测试您的手机以将您的元素(不仅是 imageView,还有按钮、textview 等)定位在屏幕上您想要的位置。

我用了:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#00FFFFFF"
    android:backgroundTint="#00FFFFFF"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/texttoast"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="430dp"
        android:layout_toStartOf="@id/imagetoast"
        android:rotation="90"
        android:text="My text here"
        android:textAlignment="center"
        android:textColor="#000000" />

    <ImageView
        android:id="@+id/imagetoast"
        android:layout_width="190dp"
        android:layout_height="190dp"
        android:layout_centerVertical="true"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="15dp"
        android:rotation="90"
        android:src="@drawable/my_image" />

</RelativeLayout>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM