2017-06-18 10 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 -of-alert-dialog –

答えて

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

あなたは@KarimElGhandourが述べたように、thisメソッドを使用するか、または単にres\layoutフォルダにカスタムLayoutを作成し、alertDialog.setView(LayoutInflater.inflate(R.layout.yourlayout), yourRootViewでそれを適用することができます。

+0

ありがとう、私は自分のテーマを作成し、それをAlertDialogの初期化に加えました。 –

関連する問題