我基本上尝试在我的应用程序中实现一个自定义通知/吐司系统,它的行为与本机toast不同(这就是为什么我不使用自定义本机toast)。我想这样做的方式是,我希望这个视图显示在任何视图的上方(如吐司),但我不知道如何将这个视图保持在底部工作表或对话框的上方。到目前为止,我在主活动xml中有这个视图,但它不会保留底部工作表或对话框上方的视图。有什么建议吗??
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".app.presentation.main_activity.MainActivity">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".app.presentation.main_activity.MainActivity" />
<com.example.notification.NotificationView
android:id="@+id/notification_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
1条答案
按热度按时间lyr7nygr1#
您可以创建一个
BaseActivity
或BaseFragment
,最初具有自定义通知对话框的方法,然后可以通过在Activity或Fragment中实现BaseActivity
或BaseFragment
来实现该方法。下面是一个例子,你可以使用它来执行相同的操作。这里我提到了我的布局,以防你必须改变你在问题中提到的
FrameLayout
来反映它。我还管理了ImageView
渲染为进度条,您可以根据需要进行更改。通过使用这种方法,你不需要在每个地方声明函数的实现,你可以通过实现基类直接调用函数。
创建函数后,您可以直接调用此函数,在
Fragment
或Activity
中以对话框的形式显示自定义布局。我希望这是你正在寻找的根据我的理解。让我知道,如果有任何其他许可需要或我是错误的理解你。