1.导入依赖 //弹窗 implementation 'com.bigkoo:alertview:1.0.3' //滚动选择器 implementation 'com.contrarywind:Android-PickerView:4.1.8'
2.布局
3.点击各个按钮的操作
bottomdialog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //底部弹窗 alertShow1(); } }); dialog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //对话框 alertShow2(); } }); setdialog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //自定义弹窗 alertShow3(); } }); xzdialog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //滚动条目 alertShow4(); } });
public void alertShow1() { new AlertView.Builder().setContext(getActivity()) .setStyle(AlertView.Style.ActionSheet) .setTitle("选择操作") .setMessage(null) .setCancelText("取消") .setDestructive("拍照", "从相册中选择") .setOthers(null) .setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(Object o, int position) { Toast.makeText(getActivity(), "点击了" + position, Toast.LENGTH_LONG).show(); } }) .build() .show(); } public void alertShow2() { new AlertView("标题", "是否关闭此窗口?", null, new String[]{"确定", "取消"}, null, getActivity(), AlertView.Style.Alert, new OnItemClickListener() { @Override public void onItemClick(Object o, int position) { if (position == 0) { Toast.makeText(getActivity(), "点击了" + position, Toast.LENGTH_LONG).show(); } } }).show(); } public void alertShow3() { //拓展窗口 ViewGroup extView = (ViewGroup) LayoutInflater.from(getActivity()).inflate(R.layout.buttom_dialog_layout, null); alertView = new AlertView(null, null, "关闭页面", null, null, getActivity(), AlertView.Style.ActionSheet, new OnItemClickListener() { @Override public void onItemClick(Object o, int position) { } }); alertView.show(); alertView.addExtView(extView); } private void alertShow4() { ViewGroup extView = (ViewGroup) LayoutInflater.from(getActivity()).inflate(R.layout.dialog_pickerview_layout, null); wheelView = extView.findViewById(R.id.wheelview); alertView = new AlertView(null, null, "关闭页面", null, null, getActivity(), AlertView.Style.ActionSheet, new OnItemClickListener() { @Override public void onItemClick(Object o, int position) { } }); alertView.show(); alertView.addExtView(extView); wheelView.setCyclic(true); final List<String> mOptionsItems = new ArrayList<>(); mOptionsItems.add("item0"); mOptionsItems.add("item1"); mOptionsItems.add("item2"); wheelView.setAdapter(new ArrayWheelAdapter(mOptionsItems)); //条件选择器 wheelView.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(int index) { Toast.makeText(getActivity(), "" + mOptionsItems.get(index), Toast.LENGTH_SHORT).show(); } }); }
4.滚动条目的布局
<com.contrarywind.view.WheelView android:id="@+id/wheelview" android:layout_width="match_parent" android:background="#FFFFFF" android:layout_height="200dp" />
5.最后附上效果图