1、使用 AlertDialog 和 PopupWindow 实现对话
1.1 使用 PopupWindow 实现自定义对话框
PopupWindow 就是一个悬浮在 Activity 之上的窗口,可以用展示任意布局文件。PopupWindow 是在 Android 上实现自定义对话框的众多方式之一。下面是它用来实现对话框的一个示例:
我们想要实现的效果如下所示:
如果我们使用Android的PopDialog的话实现这种效果会比较繁琐,我们可以通过自定义对话框解决这个问题:
public class PopDialogController {
public static void showSortDialog(Activity activity, View view, OnMenuItemSelectedListener onMenuItemSelectedListener) {
// 这里我们使用PopupWindow来达到上述效果
PopupWindow popDialog = new PopupWindow();
// 一个枚举,用来指定默认的选项
SortField sortField = SortField.fromValue(PersistData.getInteger(Constants.KEY_SORT_FIELD, SortField.CreateDate.value));
// 加载布局文件
View root = LayoutInflater.from(activity).inflate(R.layout.dialog_pop_sort, null, false);
// 设置按钮的单击事件并进行回调
root.findViewById(R.id.ll_receipt_date).setOnClickListener(v