Signed-off-by: rtc <rtc@qq.com>

pull/35/head
rtc 2 years ago
parent 94cdec221b
commit af3b43ee09

@ -28,34 +28,34 @@ import android.widget.PopupMenu.OnMenuItemClickListener;
import net.micode.notes.R; import net.micode.notes.R;
public class DropdownMenu { public class DropdownMenu {
private Button mButton; private Button mButton; // 下拉菜单的按钮
private PopupMenu mPopupMenu; private PopupMenu mPopupMenu; // 弹出菜单
private Menu mMenu; private Menu mMenu; // 菜单
public DropdownMenu(Context context, Button button, int menuId) { public DropdownMenu(Context context, Button button, int menuId) {
mButton = button; mButton = button; // 设置按钮
mButton.setBackgroundResource(R.drawable.dropdown_icon); mButton.setBackgroundResource(R.drawable.dropdown_icon); // 设置按钮的背景图为下拉图标
mPopupMenu = new PopupMenu(context, mButton); mPopupMenu = new PopupMenu(context, mButton); // 创建弹出菜单,关联到按钮
mMenu = mPopupMenu.getMenu(); mMenu = mPopupMenu.getMenu(); // 获取菜单对象
mPopupMenu.getMenuInflater().inflate(menuId, mMenu); mPopupMenu.getMenuInflater().inflate(menuId, mMenu); // 通过菜单资源ID填充菜单条目
mButton.setOnClickListener(new OnClickListener() { mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) { public void onClick(View v) {
mPopupMenu.show(); mPopupMenu.show(); // 点击按钮时显示弹出菜单
} }
}); });
} }
public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) { public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) {
if (mPopupMenu != null) { if (mPopupMenu != null) {
mPopupMenu.setOnMenuItemClickListener(listener); mPopupMenu.setOnMenuItemClickListener(listener); // 设置菜单条目点击监听器
} }
} }
public MenuItem findItem(int id) { public MenuItem findItem(int id) {
return mMenu.findItem(id); return mMenu.findItem(id); // 根据菜单条目ID查找菜单条目对象
} }
public void setTitle(CharSequence title) { public void setTitle(CharSequence title) {
mButton.setText(title); mButton.setText(title); // 设置按钮的文本
} }
} }
Loading…
Cancel
Save