代码之家  ›  专栏  ›  技术社区  ›  karthik kolanji

显示对话框时删除状态栏和导航栏覆盖

  •  0
  • karthik kolanji  · 技术社区  · 6 年前

    我试图在用户点击任何视图时显示工具提示对话框。 当对话框显示时,我不希望覆盖显示在状态栏和导航栏上:

     dialog = new Dialog(context, R.style.ToolTip_background);
    

    我试过了

    <style name="ToolTip_background" parent="@android:style/Theme.Translucent.NoTitleBar">
    
            <item name="android:windowBackground">@color/transparent</item>
            <item name="android:windowDrawsSystemBarBackgrounds">true</item>
            <item name="android:backgroundDimEnabled">false</item>
            <item name="android:background">@null</item>
        </style>
    

    在java代码中:

    View view=dialog.getWindow().getDecorView().getRootView();
            Drawable dim = new ColorDrawable(Color.TRANSPARENT);
            dim.setBounds(0, 0, view.getWidth(), view.getHeight());
            dim.setAlpha(0);
            ViewGroupOverlay overlay = view.getOverlay();
            overlay.add(dim);
    

    什么都没用

    注: 如果我试着加上 <item name="android:windowIsFloating">true</item> 它可以工作,但是工具提示锚定位置相对于我的视图会在不同的手机上移动到不同的位置。

    0 回复  |  直到 6 年前