如何在Android中创建自定义共享对话框
问题描述:
我正在使用从我的应用程序到社交媒体的共享选项。 Android默认共享对话框正常工作。我想自定义对话框,以便我可以像Flipboard android应用程序一样重新排列共享对话框UI。任何人都可以指出如何做到这一点?如何在Android中创建自定义共享对话框
答
我遇到了这个问题。我发现解决这个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;
}
}
看到下面这个例子可能对你有所帮助http://clickclickclack.wordpress.com/2012/01/03/intercepting-androids -action_send-intents/ –
这是一个很好的例子。我会尝试。 – intrepidkarthi
示例正在工作,但您需要对其进行一些更改 –