Alert Dialog Проблема изменения цвета текста - PullRequest
0 голосов
/ 06 июля 2018

Я хочу изменить цвет текста в диалоге оповещений. Я использую текст из array.xml. Я хочу, чтобы этот оранжевый цвет фигуры на моем изображении, цвет текста изменился на Белый цвет . вот мой array.xml код файла: -

<resources>
<array name="bug_type">
    <item>
        {"id":\"1\", "type":\"Wrong Question\"}
    </item>
    <item>
        {"id":\"2\", "type":\"Wrong Answer\"}
    </item>
</array>

Вот мои данные о деятельности: -

AlertDialog.Builder(this, R.style.popuptheme)
            .setTitle("Select bug")
            .setPositiveButton("Ok") { dialog, whichButton ->
                if (bugTypeDialog.selectReportBugType.checkedRadioButtonId > 0) {
                    postBugReport(bugTypeDialog.selectReportBugType.checkedRadioButtonId.toString(), que_id)
                }
                Toast.makeText(this, "Bug Request has been send ..", Toast.LENGTH_LONG).show()
                dialog.dismiss()
            }
            .setNegativeButton("Cancel") { dialog, whichButton ->
                dialog.dismiss()
            }
            .setView(bugTypeDialog)
            .create()
            .show()
}

Я хочу, чтобы на этом рисунке все текстовые изображения были белого цвета, например, оранжевого цвета Click here for show Bug image

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

Создайте textColorSelector в вашем рисовании

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="#0f0"/>
    <item android:state_checked="true" android:color="#fff"/>
    <item android:color="#00f"/>
</selector>

Примените этот селектор к вашей RadioButton.

<RadioButton
      ...
      android:textColor="@drawable/textColorSelector"
      />
0 голосов
/ 12 июля 2018

У вас есть два способа сделать это

  1. Переопределить диалог по умолчанию. и применить тему в диалоге

    //1. create a dialog object 'dialog'
    MyCustomDialog builder = new MyCustomDialog(getActivity(), "Exit", errorMessage); 
    AlertDialog dialog = builder.setNegativeButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        ...
                    }
    
                }).create();
    //2. now setup to change color of the button
    dialog.setOnShowListener( new OnShowListener() {
        @Override
        public void onShow(DialogInterface arg0) {
            dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.parseColor("#f34235"));
        }
    }
    
    dialog.show()
    

и файл стиля должен выглядеть примерно так:

<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="android:colorAccent">#0000FF</item>
</style>
  1. Создайте свой собственный диалог

    // create instance of dialog
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
     // get inflater and inflate layour for dialogue 
     LayoutInflater inflater = this.getLayoutInflater();
     View dialogView = inflater.inflate(R.layout.alert_label_editor, null);
     // now set layout to dialog
     dialogBuilder.setView(dialogView);
    
      // create instance like this OR directly mentioned in layout
      Button button= (Button) dialogView.findViewById(R.id.label_field);
      button.setText("test label");
      AlertDialog alertDialog = dialogBuilder.create();
    
      // show dialog
      alertDialog.show();
    
0 голосов
/ 06 июля 2018

Вам нужно создать тему для диалога предупреждений. Проверьте это:

http://blog.supenta.com/2014/07/02/how-to-style-alertdialogs-like-a-pro/

...