开发者

How to show appropriate icon on dialog box

开发者 https://www.devze.com 2023-03-20 02:23 出处:网络
I have an application that allows the users to delete video files. When I press the delete button, I am using

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();
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号