2017-06-18 87 views
1

我有一个AlertDialog并显示消息,但文本的颜色是白色的。它融入了背景。我试过改变主题,但它不起作用。我如何更改消息的颜色?如何更改AlertDialog消息的颜色?

相关的代码:

AlertDialog.Builder builder; 
builder = new AlertDialog.Builder(MainActivityGame.this); 

builder.setTitle("Name"); 
builder.setMessage("Are you "); 
builder.setCancelable(false); 
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialogInterface, int i) { 
     //Submit default name, go home 
     boolean isInserted = myDb.insertData(defaultName, triesTaken, difficultyText); 
     if (isInserted) { 
      Toast.makeText(MainActivityGame.this, "Your name was submitted", Toast.LENGTH_SHORT).show(); 
     } else { 
      Toast.makeText(MainActivityGame.this, "Error, your name wasn't submitted\n Have you entered a default name?\n Go to Settings/Default Name to set it up", Toast.LENGTH_SHORT).show(); 
     } 
     Intent intent = new Intent(MainActivityGame.this, MainActivity.class); 
     startActivity(intent); 
    } 
}); 
builder.setNegativeButton("No", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialogInterface, int i) { 
     userName.setVisibility(View.VISIBLE); 
     submitName.setVisibility(View.VISIBLE); 
     submitName.setEnabled(true); 
     dialogInterface.dismiss(); 
    } 
}); 
builder.create(); 
builder.show(); 
+0

你试图研究一个答案? https://stackoverflow.com/questions/16200914/alertdialog-styling-how-to-change-style-color-of-title-message-etc https://stackoverflow.com/questions/38609262/change-text-color警告对话框 –

回答

4

你能给风格的警告对话框如下:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AlertDialogStyle); 

和风格像往常一样:

<style name="AlertDialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="android:colorAccent">#f3f3f3</item> 
    <item name="android:textColor">#f3f3f3</item> 
    <item name="android:textColorPrimary">#f3f3f3</item> 
</style> 
+0

是的,我完全一样。谢谢。 –

+0

那有帮助吗? – Meikiem

0

您可以使用this方法,像@KarimElGhandour提及或只是在res\layout文件夹中创建自定义Layout,然后用alertDialog.setView(LayoutInflater.inflate(R.layout.yourlayout), yourRootView应用它。

+0

谢谢,我创建了自己的主题并将其添加到AlertDialog的初始化中。 –