Кликабельный значок в заголовке диалогового окна - PullRequest
0 голосов
/ 14 июля 2011

Я хотел бы спросить, могу ли я сделать значок в заголовке диалогового окна кликабельным. Я использовал следующие строки, чтобы установить заголовок «Новый контакт» в левой части диалогового окна и значок в правой части. Итак, может ли этот значок (x5) стать кликабельным? Я бы хотел, чтобы он функционировал как кнопка закрытия.

dialog.requestWindowFeature (Window.FEATURE_RIGHT_ICON);

     dialog.setTitle("New Contact                 ");
     dialog.setContentView(R.layout.pop_up_new_contact);//loads the layout we have already create pop_up_new_contact.xml
     dialog.setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON, R.drawable.x5);//adds an icon in the left of the Title.
     dialog.setCancelable(true);

Ответы [ 3 ]

1 голос
/ 15 июля 2011

Я нашел решение!Это то, что я сделал, на случай, если кому-то это понадобится.

@Override
protected Dialog onCreateDialog(int id)  {//creates the dialog

final Dialog dialog = new Dialog(this);

dialog.requestWindowFeature( Window.FEATURE_CUSTOM_TITLE );//adds in the dialog box a frame for the custom title

@Override
protected Dialog onCreateDialog(int id)  {//creates the dialog
    final Dialog dialog = new Dialog(this);

    dialog.requestWindowFeature( Window.FEATURE_CUSTOM_TITLE );//adds in the dialog box a frame for the custom title

    //dialog.setTitle("New Contact");//sets the title of the dialog box

    dialog.setContentView(R.layout.pop_up_new_contact);//loads the layout we have already create pop_up_new_contact.xml
    dialog.getWindow().setFeatureInt( Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_dialog_box);//sets our custom title(custom_title_dialog_box.xml) as the current title of the dialog box. The custom_title_dialog_box.xml contains a TextView with id: title_new_contact and an ImageView with id: x1_button.

    dialog.setCancelable(true);//close the dialog box when the back key is pushed.

    ImageView x1_button = (ImageView)dialog.findViewById(R.id.x1_button);

    x1_button.setOnClickListener(new View.OnClickListener(){
        public void onClick(View View3) {
         dialog.dismiss();
        }
    });

    return dialog;
}

Возможно, это не лучшее решение, но, по крайней мере, оно работает!

0 голосов
/ 15 июля 2011

Мне приходит в голову, что это не совсем то, что вы просили, однако, если вы ищете аллитерацию к кнопке «Назад».Это будет работать.

dialog.setButton(getText(R.string.cancel), new DialogInterface.OnClickListener()
{
   public void onClick(DialogInterface dialog, int whichButton) { }
});
0 голосов
/ 15 июля 2011

Лучше всего создать собственный диалог. Но его плохой UX-дизайн позволяет использовать его в качестве кнопки закрытия, поскольку пользователи Android привыкли к задней части спины, выполняя то же действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...