项目里需要做一个有多个选项的单选对话框,类似 QQ 的 Dialog 风格,实现起来倒是不难,只是这样的功能我在之前的项目里就写过一次,这次又要为一些小的改动再写一遍。干脆,我把这样的 Dialog 封装一下开源出来,也方便自己以后再用到的时候就不再需要做重复的工作。加上自己一直想写个开源项目,所以这次借着这股东风,PubDialog 诞生了。PubDialog 是一个类似 IOS 风格的对话框,我封装了一些简单的功能,方便在大部分场合快速实现选择对话框的功能。
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
List<String> list = new ArrayList<>(3); list.add("Send message"); list.add("Like profile"); list.add("Add to favorites");
PubDialogFragment pubDialog = PubDialogFragment.newInstance(list, false);
pubDialog.setItemClickListener(new PubDialogFragment.ItemClickListener() {
@Override public void onItemClick(View clickedView, DialogObject dialogObject, int groupIndex, int itemIndex) { Intent intent; if (itemIndex == 1) { Uri uri = Uri.parse("https://github.com/KokerWang/PubDialog"); intent = new Intent(Intent.ACTION_VIEW, uri); } else { Uri uri = Uri.parse("http://www.kokerwang.com"); intent = new Intent(Intent.ACTION_VIEW, uri); } startActivity(intent); } });
pubDialog.show(getSupportFragmentManager(), "setting");
|
功能定制
更多定制功能请留意API
效果
