android 下拉菜单触发_Android自定义下拉菜单/弹出菜单

在android中创建弹出菜单。

activity_main.xml中

它只包含一个按钮。

文件:activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:layout_marginLeft="62dp"

android:layout_marginTop="50dp"

android:text="Show Popup" />

popup_menu.xml

它包含三个项目,如下所示。 它在res / menu目录中创建。文件:poupup_menu.xml

android:id="@+id/one"

android:title="One"/>

android:id="@+id/two"

android:title="Two"/>

android:id="@+id/three"

android:title="Three"/>

活动类

它会在按钮单击时显示弹出菜单。文件:MainActivity.java

public class MainActivity extends Activity {

private Button button1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

button1 = (Button) findViewById(R.id.button1);

button1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//Creating the instance of PopupMenu

PopupMenu popup = new PopupMenu(MainActivity.this, button1);

//Inflating the Popup using xml file

popup.getMenuInflater()

.inflate(R.menu.popup_menu, popup.getMenu());

//registering popup with OnMenuItemClickListener

popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

public boolean onMenuItemClick(MenuItem item) {

Toast.makeText(

MainActivity.this,

"You Clicked : " + item.getTitle(),

Toast.LENGTH_SHORT

).show();

return true;

}

});

popup.show(); //showing popup menu

}

}); //closing the setOnClickListener method

}

}

要以编程方式添加:

PopupMenu menu = new PopupMenu(this, view);

menu.getMenu().add("One");

menu.getMenu().add("Two");

menu.getMenu().add("Three");

menu.show();

按照此链接以编程方式创建菜单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值