最小化活动后如何保持吐司方向?
Posted
技术标签:
【中文标题】最小化活动后如何保持吐司方向?【英文标题】:How to keep toast orientation after minimizing activity? 【发布时间】:2020-09-26 09:14:52 【问题描述】:手机始终处于横向模式。
我的活动处于横向模式(并且有横向版本),它显示一个 toast,它也以横向模式显示。 祝酒后,我将活动最小化:
Toast.makeText(getApplicationContext(), "My Toast Message", Toast.LENGTH_LONG).show();
moveTaskToBack(true);
toast 继续显示,但现在在纵向模式下旋转 90 度(这可能与主屏幕的模式有关)。
目前我只找到了这个SO post with the same problem。
有没有办法强制以横向模式显示吐司? (toast 是在横向模式下启动的,所以它不应该旋转 90 度,它应该保持横向模式)
我想要的是:当我按下按钮时,活动消失(然后我们会看到后面的任何应用程序或主屏幕)并显示吐司。全部为横向模式。这可能吗?
【问题讨论】:
【参考方案1】:我找到了一种方便又简单的方法来实现这一点!
首先,我尝试了先显示 toast 和 moveTaskToBack。但这没有用。 moveTaskToBack 比定时器强,当手机还在横屏模式时,吐司继续以竖屏模式出现。
然后我考虑调整 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_
android:layout_
android:background="#00FFFFFF"
android:backgroundTint="#00FFFFFF"
android:orientation="horizontal">
<TextView
android:id="@+id/texttoast"
android:layout_
android:layout_
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_
android:layout_
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="15dp"
android:rotation="90"
android:src="@drawable/my_image" />
</RelativeLayout>
【讨论】:
以上是关于最小化活动后如何保持吐司方向?的主要内容,如果未能解决你的问题,请参考以下文章