如何创建没有窗口的自定义对话框

时间:2011-10-10 14:35:03

标签: android dialog

我在如何创建自己的自定义对话框方面苦苦挣扎。

我遵循example

1)我需要的一个功能是禁用“窗口”背景 - 目前当我显示一个对话框时,就像一个有透明度的黑色背景。如何在没有这个“窗口”背景或完全透明的情况下制作它?

2)如何设置对话框的大小?

3)我想在对话框的背景中添加图像 - 如何使其透明?

编辑*

<style name="Dialog" parent="android:style/Theme.Dialog">
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">false</item>
</style>

我将这种风格用于我的Dialog并使用frameLayout添加背景,如下所示:

 final CustomDialog dialog = new CustomDialog(context, R.style.Dialog);
 ImageView image = new ImageView(context);
 image.setImageResource(R.drawable.background2);
 image.setAlpha(75);
 image.setVisibility(View.VISIBLE);

 final FrameLayout frameLayout = new FrameLayout(context);
 frameLayout.setPadding(40, 100, 40, 100);
 frameLayout.addView(image, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) );

 View layout = inflater.inflate(R.layout.dialog, null);
 frameLayout.addView(layout, new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
 dialog.setContentView(frameLayout);

1 个答案:

答案 0 :(得分:0)

  1. 您应该可以通过以下方式将对话框设置为完全透明:
      Dialog myDialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar);
  2. 如果您为对话框自定义布局,则应该能够设置高度和宽度。宽度属性。
  3. 将ImageView设置为背景,然后使用调整透明度 myImage.setAlpha(127);