Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的半透明对话框_Android_Android Layout_Android Alertdialog - Fatal编程技术网

Android中的半透明对话框

Android中的半透明对话框,android,android-layout,android-alertdialog,Android,Android Layout,Android Alertdialog,您好,我希望为我的警报对话框实现此外观,但不确定该如何实现。我确实知道如何在android中获得透明警报对话框的外观,但我找不到任何关于它是半透明的线索。请留下一些关于我应该如何开始做的意见或指导。非常感谢 更新: 很抱歉,我忘记了说明,实际上我使用的是带有警报对话框主题的xml,而不是普通的警报对话框 要查看取消暗显的基础活动: dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 要使对话框的背

您好,我希望为我的警报对话框实现此外观,但不确定该如何实现。我确实知道如何在android中获得透明警报对话框的外观,但我找不到任何关于它是半透明的线索。请留下一些关于我应该如何开始做的意见或指导。非常感谢

更新:
很抱歉,我忘记了说明,实际上我使用的是带有警报对话框主题的xml,而不是普通的警报对话框

要查看取消暗显的基础活动:

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

要使对话框的背景半透明,必须将背景颜色设置为alpha<255(请参见
颜色
API)。

您可以创建自定义对话框并将其引用到样式:

 final Dialog dialog = new Dialog(context,R.style.cust_dialog);
然后在名为dialog_style.xml的values文件夹中创建xml:

 <?xml version="1.0" encoding="utf-8"?>

<resources>   
   <style name="cust_dialog"> 
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowBackground">@color/transparent_color</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:colorBackgroundCacheHint">@null</item> 
    <item name="android:textSize">30dp</item>
   <item name="android:gravity">left</item>
  </style>
</resources> 

@空的
真的
@空的
@android:style/Animation.Dialog
@颜色/透明颜色
状态未指定|调整盘
@空的
30dp
左边
还要创建color.xml:

 <?xml version="1.0" encoding="utf-8"?>
 <resources>   
     <color name="transparent_color">#00000000</color>
  </resources> 

#00000000
这样您将获得半透明的对话框

您可以根据需要控制半透明性

希望对您有所帮助。

添加这一行

 dialog.setBackgroundColor(Color.argb(0,0,0,0);

事实上,我使用的是带有警报对话框主题的xml,而不是像往常一样膨胀警报对话框。已尝试上述代码,出现错误。我猜这只适用于膨胀警报对话框。谢谢:)好的,出现了什么错误(编辑你的帖子)。其次,您可以继承警报对话框主题,以设置xml中的背景颜色。我按照给出的代码进行了操作,谢谢,但结果是透明的,而不是半透明的。。。