I have an application that allows the users to delete video files. When I press the delete button, I am using
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (wh开发者_如何学运维ich) {
case DialogInterface.BUTTON_POSITIVE:
// mycode........
break;
case DialogInterface.BUTTON_NEGATIVE:
// mycode.....
break;
}
}
};
But this message doesn't have a warning or delete icon as we see in android devices. Can anyone help me in getting those icons or using any other alert dialogs that can show those icons?
I tend to use AlertDialog.Builder like they show in the official doc example
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MyActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
//Set your icon here
.setTitle("Alert!")
.setIcon(R.drawable.icon);
AlertDialog alert = builder.create();
alert.show();//showing the dialog
As for the actual icon look inside your sdk folder/platforms/android version #/data/res/drawable-mdpi or something
In order to set the default Dialog icons use:
.setIcon(android.R.drawable.ic_dialog_alert)
There are a few more icons available:
- android.R.drawable.ic_dialog_dialer
- android.R.drawable.ic_dialog_info
- android.R.drawable.ic_dialog_email
- android.R.drawable.ic_dialog_map
Just replace .setIcon(R.drawable.icon);
to
.setIcon(getResources().getDrawable(R.drawable.icon));
But it's deprecated.
Another (dirty) way:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(android.R.attr.alertDialogIcon, typedValue, true);
new AlertDialog.Builder(this)
.setIcon(typedValue.resourceId)
...
.show();
You can also set certain icon for the Alert dialog buttons as:
builder.setPositiveButtonIcon( getResources().getDrawable( drawable.ic_menu_share )
just set the title for you AlertDialog. like this:
adb.setTitle(R.string.app_name);
ful example:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setIcon(R.mipmap.ic_launcher_foreground);
adb.setTitle(R.string.app_name);
adb.show();
精彩评论