[英]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.