gpt4 book ai didi

android - 如何在 Android 中创建自定义共享对话框

转载 作者:太空狗 更新时间:2023-10-29 14:24:22 27 4
gpt4 key购买 nike

我正在使用从我的应用程序到社交媒体的共享选项。 Android 默认共享对话框工作正常。我想自定义对话框,以便我可以像在 Flipboard android 应用程序中一样重新排列共享对话框 UI。谁能指出如何做到这一点?

最佳答案

我遇到了这个问题。我在这个 answer 中找到了解决方案我希望它对你也有帮助..

我把这篇文章的代码写在下面,以防将来不存在:

您必须使用自定义 ListAdapter 来添加图像。一种方法是子类化 ArrayAdapter(AlertDialog 默认使用)。这是一个例子:

final Item[] items = {
new Item("Email", android.R.drawable.ic_menu_add),
new Item("Facebook", android.R.drawable.ic_menu_delete),
new Item("...", 0),//no icon for this one
};

ListAdapter adapter = new ArrayAdapter<Item>(
this,
android.R.layout.select_dialog_item,
android.R.id.text1,
items){
public View getView(int position, View convertView, ViewGroup parent) {
//Use super class to create the View
View v = super.getView(position, convertView, parent);
TextView tv = (TextView)v.findViewById(android.R.id.text1);

//Put the image on the TextView
tv.setCompoundDrawablesWithIntrinsicBounds(items[position].icon, 0, 0, 0);

//Add margin between image and text (support various screen densities)
int dp5 = (int) (5 * getResources().getDisplayMetrics().density + 0.5f);
tv.setCompoundDrawablePadding(dp5);

return v;
}
};


new AlertDialog.Builder(this)
.setTitle("Share Appliction")
.setAdapter(adapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//...
}
}).show();

这是项目类

public static class Item{
public final String text;
public final int icon;
public Item(String text, Integer icon) {
this.text = text;
this.icon = icon;
}
@Override
public String toString() {
return text;
}
}

关于android - 如何在 Android 中创建自定义共享对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13807490/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com