@ -27,17 +27,18 @@ import android.widget.PopupMenu.OnMenuItemClickListener;
import net.micode.notes.R ;
public class DropdownMenu {
public class DropdownMenu { //构建一个方法去弹出菜单,按钮与现实菜单
private Button mButton ;
private PopupMenu mPopupMenu ;
private Menu mMenu ;
public DropdownMenu ( Context context , Button button , int menuId ) {
mButton = button ;
mButton . setBackgroundResource ( R . drawable . dropdown_icon ) ;
mPopupMenu = new PopupMenu ( context , mButton ) ;
mButton = button ; //传入button的值
mButton . setBackgroundResource ( R . drawable . dropdown_icon ) ; //将按钮的背景设置为一个指定的资源
mPopupMenu = new PopupMenu ( context , mButton ) ; //创建一个新的 PopupMenu 对象 mPopupMenu, 这个对象会和 mButton 相关联,当点击这个按钮时,会显示这个弹出菜单。
mMenu = mPopupMenu . getMenu ( ) ;
mPopupMenu . getMenuInflater ( ) . inflate ( menuId , mMenu ) ;
//通过调用 mPopupMenu.getMenu() 方法获取菜单对象 mMenu, 这个对象代表了弹出菜单的内容。
mPopupMenu . getMenuInflater ( ) . inflate ( menuId , mMenu ) ; //使用 getMenuInflater().inflate 方法来加载并设置弹出菜单的内容,传入的参数是菜单 ID 和菜单对象,这个方法会根据菜单 ID 加载对应的菜单资源(可能是一个 XML 文件定义的菜单布局),并将加载后的内容设置到菜单对象上。
mButton . setOnClickListener ( new OnClickListener ( ) {
public void onClick ( View v ) {
mPopupMenu . show ( ) ;