0

我需要一种方法来删除 Android 添加到对话框视图内容的 2px 灰色边框。我已经尝试了该站点上标记为 OK 的大部分解决方案。所需的最终结果显示在最后一张图片中(一个只显示我的视图的对话框,没有任何由 android 添加的额外 UI 元素)

这是当前代码:

AlertDialog.Builder builder = new Builder(this);
builder.setView(dialogContent); //a view inflated from xml
... 
chooseActionDialog = builder.create();
...
chooseActionDialog.setView(dialogContent, 0, 0, 0, 0); //this removed the padding between grey border & actual content.. this is why i set view twice
chooseActionDialog.show();
...
Drawable d = new ColorDrawable(Color.TRANSPARENT);    
chooseActionDialog.getWindow().setBackgroundDrawable(d);  //this seems to change color of padding area (between grey border & actual content)

注意:具有 2 个参数(context、themeId)的 Builder 构造器确实可以按预期工作(仍然有边框和对话框变得丑陋)

在此处输入图像描述

4

1 回答 1

3

在您的 style.xml 中的 values 文件夹中创建您自己的样式,如下所示

<style name="Theme.Trans" parent="android:Theme.Translucent">
   <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">@android:color/transparent</item>
</style>

将此样式应用于您的对话框

final Dialog dialog = new Dialog(UrActivity.this, R.style.Theme_Trans);
于 2013-03-20T07:58:35.867 回答