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中实现自定义弹框】这样,我们就实现了自定义弹框的目的。是不是很简单。
推荐阅读
- 热闹中的孤独
- android第三方框架(五)ButterKnife
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募