弹出式视图(z-index?) - android

时间:2010-08-21 15:52:38

标签: android layout z-index

我想在我的场景中添加一个新视图,其中包含将在我的应用程序中以编程方式更改的内容。当它发生变化时,它需要在屏幕上弹出3秒钟(或点击一下)然后消失。

此视图的大小会根据其内容WRAP_CONTENT而改变,但理想情况下我希望它在屏幕上水平和垂直居中。

我被困在三个方面: 1)我应该使用什么类型的视图...我在想相对,但是我所有的玩法都没有给我正在尝试做的事情带来好结果 2)关于#1(尝试相对视图),我无法使其正确居中(尝试使用param.leftMargin和param.topMargin具有不同的值,但无法使其在具有不同分辨率的不同设备上工作 3)对于#1,我无法使其漂浮在我的屏幕上的其他所有内容上(需要像z-index之类的东西)。

任何想法,代码示例都会很棒。

TIA

1 个答案:

答案 0 :(得分:0)

使用自定义对话框,即带有android:theme="@android:style/Theme.Dialog"的LinearLayout,对于类,它将类似于

public class YourCustomDialog extends Dialog implements DialogInterface

您可以在其中实现要显示的内容的自定义逻辑。这样的对话框在所有其他视图的顶部浮动和模态,然后你也可以选择将背景设置为模糊等。

这是我自定义对话框的典型构造函数 - 布局将在xml布局文件中定义,在我的例子中是my_custom_dialog.xml:

public MyCustomDialog(Context context) {
    super(context, android.R.style.Theme);

    Window window = getWindow();
    window.requestFeature(Window.FEATURE_NO_TITLE);
    window.setGravity(Gravity.BOTTOM);
    window.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.empty));

    setContentView(R.layout.my_custom_dialog);

    // actually not necessary as it's already the default value:
    window.setLayout(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

    ...
}