android点击出现列表,安卓中如何实现点击菜单出现分享列表

在网上看到很多资料,并且去实现了,都是通过建立一个intend然后用startActivity将分享列表列出来。

请问怎么实现将列表通过菜单表现出来?这个菜单是自己建立的吗?那么怎么实现点击菜单后跳转到分享的activity页面?

之外,吐槽一句,我使用

Intent intent=new Intent(Intent.ACTION_SEND);

intent.setType("image/*");

去建立一个分享列表时没有问题的。

但是如果使用了

Intent.createChooser(intent, "1111111111");

之后,就无法建立了。

使用

public boolean hasApplication(Intent intent){

PackageManager packageManager = getPackageManager();

//查询是否有该Intent的Activity

List activities = packageManager.queryIntentActivities(intent, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);

//activities里面不为空就有,否则就没有

return activities.size() > 0 ? true : false;

}

这个函数去检测的时候,在模拟器不会出现什么问题,在我HTC手机上会出现返回的activities个数为0。

在click里面相应内容是

Intent intent=new Intent(Intent.ACTION_SEND);

intent.setType("image/*");

intent.putExtra(Intent.EXTRA_SUBJECT, "content");

intent.putExtra(Intent.EXTRA_TEXT, "222222");

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Intent tmp = Intent.createChooser(intent, "1111111111");

if(hasApplication(tmp))

startActivity(tmp);

没问题吧?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤在Android底部菜单添加上拉列表: 1. 在menu.xml文件菜单项添加一个actionLayout属性,值为一个包含ListView的布局文件。 ```xml <item android:id="@+id/menu_item" android:title="Menu Item" app:actionLayout="@layout/menu_item_layout" /> ``` 2. 在你的Activity或Fragment,查找该菜单项并设置一个OnClickListener。 ```java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); MenuItem item = menu.findItem(R.id.menu_item); item.getActionView().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showPopupList(v); } }); return true; } ``` 3. 在OnClickListener,创建一个PopupWindow并将其显示在菜单项下方。 ```java private void showPopupList(View anchorView) { View popupView = getLayoutInflater().inflate(R.layout.popup_list_layout, null); ListView listView = popupView.findViewById(R.id.list_view); String[] items = {"Item 1", "Item 2", "Item 3", "Item 4"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items); listView.setAdapter(adapter); PopupWindow popupWindow = new PopupWindow(popupView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); popupWindow.setOutsideTouchable(true); popupWindow.showAsDropDown(anchorView); } ``` 这样,当用户点击底部菜单项时,就会显示一个上拉列表。您可以根据需要修改布局和列表项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值