Android 自定义Dialog

如果想让对话框具有自定义布局,可以先创建一个布局,然后通过调用 AlertDialog.Builder 对象上的 setView()将其添加到 AlertDialog。

但是我们也可以直接将一个Activity显示为Dialog。个人认为,这样的方法要更直观一些。

先贴出Activity的布局文件:




    

    

    

        

            

预览中的Layout:

Android 自定义Dialog_第1张图片
Layout预览
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.button01);
//        为按钮绑定事件监听器
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//                结束该Activity
                finish();
            }
        });
    }
}

在MainActivity中只是象征性地为其中一个按钮绑定了监听器。

而要实现把Activity以Dialog的形式显示,只需要:

清单文件元素中将其主题设置为


就这么简单。Activity 便会显示在一个对话框窗口中,而非全屏显示。
效果图:

Android 自定义Dialog_第2张图片
以Dialog形式显示的Activity效果图

诸君共勉:)

你可能感兴趣的:(Android 自定义Dialog)