如何在安卓系统中制作自定义分享屏幕

3

我的应用程序有一个共享功能。因此,在点击共享时,它应该显示可共享的应用程序列表。目前,我正在使用以下代码:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

它展示的对话框如下所示:

enter image description here

但是我需要像这样以网格视图的方式显示共享对话框。是否有可能做到这一点?我该如何自定义共享对话框窗口?

enter image description here

1个回答

1

你需要创建一个自定义对话框,将这个列表视图放在其中。

参考:

https://github.com/soarcn/BottomSheet

使用以下代码以获取 ACTION_SEND 的可用项。
Intent galleryIntent = new Intent(Intent.ACTION_SEND);
List<ResolveInfo> listGel = context.getPackageManager().queryIntentActivities(galleryIntent, 0);
for (ResolveInfo res : listGel) {
    Log.e("package",res.activityInfo.packageName);
    Log.e("name",res.activityInfo.name);
    Log.e("proname",res.loadLabel(context.getPackageManager()).toString());


}

还有一种底部菜单的选项是自定义列表视图,它将从屏幕底部弹出。


有没有可用于支持旧版本的底部工作表的支持库? - dev
如果您想为旧版本提供支持,请尝试第二个选项,使用ListView/GridView并给它添加从底部打开的动画。您必须手动处理它。 - Ravi
好的。那么我需要手动处理点击操作吗? - dev
是的。您需要保存所有应用程序的包名称,然后在单击列表/网格时调用相应的应用程序。 - Ravi
你能给我一个例子吗?例如:点击消息应用程序时,我需要打开消息应用程序并分享我的文本。 - dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接