Android中实现自定义弹框

在开发中,UI总是设计出各种好看的弹框给我们,希望我们使用这些好看的弹框,制作出好看的APP界面,这里就给大家提供一种自定义弹框的方法。

  • Activity的布局

  • 注:这里就一个按钮,没什么好说的
  • custom_dialog.xml dialog的自定义布局

  • Activity内的写法,包括dialog构建和大小的自定义
public class MainActivity extends BaseActivity implements View.OnClickListener {private Button button; private AlertDialog dialog; private Button bt_sure; private Button bt_cancel; @Override protected int getContentLayoutId() { return R.layout.activity_main; }@Override protected void initWidget() { super.initWidget(); //Activity按钮的初始化 button = findViewById(R.id.button); //这里开始是Dialog的代码 AlertDialog.Builder builder = new AlertDialog.Builder(this); View view = View.inflate(this, R.layout.custom_dialog, null); //Dialog中控件的初始化 bt_sure = view.findViewById(R.id.bt_sure); bt_cancel = view.findViewById(R.id.bt_cancel); //点击事件可以统一在Activity中写 bt_sure.setOnClickListener(this); bt_cancel.setOnClickListener(this); builder.setView(view); builder.setCancelable(true); dialog = builder.create(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.show(); //这里开始修改dialog的尺寸 android.view.WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); p.height = 900; p.width =700; dialog.getWindow().setAttributes(p); Window window = dialog.getWindow(); } }); }@Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_sure: Toast.makeText(this,"确定",Toast.LENGTH_SHORT).show(); break; case R.id.bt_cancel: Toast.makeText(this,"取消",Toast.LENGTH_SHORT).show(); break; } } }

【Android中实现自定义弹框】这样,我们就实现了自定义弹框的目的。是不是很简单。

    推荐阅读