ADD file via upload

main
pstgu9p43 7 months ago
parent f42690adef
commit 298bd7e02c

@ -0,0 +1,63 @@
package net.micode.notes.ui;
// 导入Android系统中处理上下文环境的类用于访问应用程序的资源和类
import android.content.Context;
// 导入Android系统中处理菜单的类
import android.view.Menu;
// 导入Android系统中处理菜单项的类
import android.view.MenuItem;
// 导入Android系统中处理视图的类
import android.view.View;
// 导入Android系统中处理视图点击事件的接口
import android.view.View.OnClickListener;
// 导入Android系统中处理弹出菜单的类
import android.widget.Button;
// 导入Android系统中处理弹出菜单的类
import android.widget.PopupMenu;
// 导入Android系统中处理弹出菜单项点击事件的接口
import android.widget.PopupMenu.OnMenuItemClickListener;
// 导入应用程序中的资源类
import net.micode.notes.R;
// DropdownMenu类用于创建一个下拉菜单
public class DropdownMenu {
private Button mButton; // 下拉菜单的按钮
private PopupMenu mPopupMenu; // 弹出菜单
private Menu mMenu; // 菜单
// 构造函数用于创建DropdownMenu实例
public DropdownMenu(Context context, Button button, int menuId) {
mButton = button; // 设置下拉菜单的按钮
mButton.setBackgroundResource(R.drawable.dropdown_icon); // 设置按钮的背景资源
mPopupMenu = new PopupMenu(context, mButton); // 创建弹出菜单实例
mMenu = mPopupMenu.getMenu(); // 获取菜单实例
mPopupMenu.getMenuInflater().inflate(menuId, mMenu); // 加载菜单布局文件
// MenuInflater是用来实例化Menu目录下的Menu布局文件
// 根据ID来确认menu的内容选项
// 设置按钮的点击事件监听器
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPopupMenu.show(); // 显示弹出菜单
}
});
}
// 设置菜单项点击事件的监听器
public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) {
if (mPopupMenu != null) {
mPopupMenu.setOnMenuItemClickListener(listener); // 设置菜单项点击事件的监听器
}
}
// 根据ID查找菜单项
public MenuItem findItem(int id) {
return mMenu.findItem(id); // 返回指定ID的菜单项
}
// 设置下拉菜单按钮的标题
public void setTitle(CharSequence title) {
mButton.setText(title); // 设置按钮的文本
}
}
Loading…
Cancel
Save