【问题标题】:Remove black background of popup删除弹出窗口的黑色背景
【发布时间】:2015-09-04 09:35:33
【问题描述】:

如何去除弹出窗口的黑色背景。我正在使用 showAtLocation 方法 来显示弹出窗口。 我关注了this,但没有用。 我尝试了以下方法:

popup.getContentView().setBackgroundResource(android.R.color.transparent);

【问题讨论】:

标签: android popup


【解决方案1】:

您可以为弹出布局的根元素设置背景。从弹出的 setBackgroundDrawable(null) 中删除默认的黑色背景

例子:

弹窗布局的背景

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:background="@drawable/background_rectangle_round"
    android:backgroundTint="@color/colorPrimary">
...

在您的弹出窗口类中

...
  setBackgroundDrawable(null)
...

【讨论】:

    【解决方案2】:

    只需在布局的主要布局元素中设置背景颜色。透明对于弹出窗口来说不是一种非常有用的颜色。

    所以我的意思是在 contentView 的布局文件中设置背景,用于: PopupWindow(View contentView, int width, int height, boolean focusable)

    【讨论】:

    • 它对我有用,但有一个问题。早些时候我正在创建弹出窗口,就像这个 popup = new PopupWindow(ChallengerActivity.this);那时,当我在弹出窗口外部单击时,弹出窗口正在关闭,但现在它没有关闭。我尝试了很多解决方案,但没有结果。
    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 2014-12-26
    • 1970-01-01
    • 2020-11-25
    • 2019-03-08
    相关资源
    最近更新 更多