安卓开发弹窗activity风格_安卓两种底部弹出窗dialog实现方式

本文介绍了在安卓开发中如何实现底部弹出窗dialog的两种方式。第一种是列表弹窗,展示了如何添加数据并监听点击事件。第二种是自定义布局的底部弹窗,可以灵活传入布局和控件ID。提供了具体的代码实现,包括`bt1ListView()`用于创建列表弹窗和`Bt2Loginout()`用于展示自定义布局的底部弹窗。
摘要由CSDN通过智能技术生成

【实例简介】安卓两种底部弹出窗dialog实现方式,一种是列表弹窗实现,2是灵活底部弹窗,传入布局以及控件id

【实例截图】

f1540fdbce176d9e28140f2c0971f823.png

e90828ec8c9a6e2487188e0b48cd021d.png

【核心代码】

package com.kx.kxbottomdialog;

import android.content.Context;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.AdapterView;

import java.util.ArrayList;

import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Context mContext;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}

private void init() {

mContext = this;

findViewById(R.id.bt1).setOnClickListener(this);

findViewById(R.id.bt2).setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.bt1:

bt1ListView();

break;

case R.id.bt2://退出登录

Bt2Loginout();

break;

}

}

/**

* 底部列表弹窗

*/

private void bt1ListView() {

List names = new ArrayList<>();

names.add("随堂测验");

names.add("单元考试");

names.add("期中(末)考试");

showDialog(new BottomCirTraDialog.SelectDialogListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id) {

switch (position) {

case 0: //随堂测验

showToast("随堂测验");

break;

case 1://单元考试

showToast("单元考试");

break;

case 2://期中(末)考试

showToast("期中(末)考试");

break;

default:

break;

}

}

}, names);

}

private BottomCirTraDialog showDialog(BottomCirTraDialog.SelectDialogListener listener, List names) {

BottomCirTraDialog dialog = new BottomCirTraDialog(this, R.style.transparentFrameWindowStyle, listener, names);

if (!this.isFinishing()) {

dialog.show();

}

return dialog;

}

/**

* 退出登录

*/

private void Bt2Loginout() {

BottomDialog dialog = new BottomDialog(mContext, R.layout.dialog_login_out,

new int[]{R.id.tv_choice_out, R.id.tv_cancel});

dialog.show();

dialog.setOnBottomItemClickListener(new BottomDialog.OnBottomItemClickListener() {

@Override

public void onBottomItemClick(BottomDialog dialog, View view) {

switch (view.getId()) {

case R.id.tv_choice_out: //退出登录

//服务器登出 mCenterPI.logout();

dialog.cancel();

break;

case R.id.tv_cancel: //取消

dialog.cancel();

break;

}

}

});

}

/**

* Toast

*

* @param s

*/

public void showToast(String s) {

ToastUtil.toast(this, s);

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值