How to change theme for AlertDialog

前端 未结 15 2069
名媛妹妹
名媛妹妹 2020-11-22 09:14

I was wondering if someone could help me out. I am trying to create a custom AlertDialog. In order to do this, I added the following line of code in styles.xml



        
15条回答
  •  迷失自我
    2020-11-22 09:48

    Better way to do this use custom dialog and customize according your needs here is custom dialog example.....

    enter image description here

    public class CustomDialogUI {
    Dialog dialog;
    Vibrator vib;
    RelativeLayout rl;
    
    @SuppressWarnings("static-access")
    public void dialog(final Context context, String title, String message,
            final Runnable task) {
        dialog = new Dialog(context);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(R.layout.custom);
        dialog.setCancelable(false);
        TextView m = (TextView) dialog.findViewById(R.id.message);
        TextView t = (TextView) dialog.findViewById(R.id.title);
        final Button n = (Button) dialog.findViewById(R.id.button2);
        final Button p = (Button) dialog.findViewById(R.id.next_button);
        rl = (RelativeLayout) dialog.findViewById(R.id.rlmain);
        t.setText(bold(title));
        m.setText(message);
        dialog.show();
        n.setText(bold("Close"));
        p.setText(bold("Ok"));
        // color(context,rl);
        vib = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
        n.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                vib.vibrate(15);
                dialog.dismiss();
            }
        });
        p.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                vib.vibrate(20);
                dialog.dismiss();
                task.run();
            }
        });
    }
     //customize text style bold italic....
    public SpannableString bold(String s) {
        SpannableString spanString = new SpannableString(s);
        spanString.setSpan(new StyleSpan(Typeface.BOLD), 0,
                spanString.length(), 0);
        spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0);
        // spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0,
        // spanString.length(), 0);
        return spanString;
    }
    

    }

    Here is xml layout

    
    
    
    
    
        
    
            
        
    
        
        
    
        
    
        
    
            
    
        
    
        

提交回复
热议问题