2017-10-22 10 views
0

大丈夫、私は電話用のアプリを作っています。 私はダイアログに関数を作成し、必要なときに関数を呼び出すだけでした。ダイアログの背景

私は、ダイアログウィンドウを変更したいと思っています。異なる色や線やテキストを分けるためのものです。

私はインターネットを全面的に見てきました。私は助けてくれるものは何も見つかりません。ここ

は、私が呼び出しています....機能

public void userNameRequired(View view) 
{ 
    AlertDialog.Builder builder = new AlerdDialog.Builder(this); 
    TextView newMessage = new TextView(this); 
    newMessage.setText(" User Name is Required to be between 7 and 20 caracters long."); 
    newMesage.setGravity(Gravity.CENTER_HORIZONTAL); 
    builder.setView(newMessage); 

    TextView title = new TextView(this); 
    title.setText("!! NOTICE !!"); 
    title.setGravity(Gravity.CENTER); 
    title.setTextSize(28); 
    title.setTextColor(Color.RED); 

    builder.setCustomTitle(title); 

    builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
    { 
     public void onClick(DialogInterface dialog, int id) 
     { 

     } 
    }); 

    builder.show(); 
} 
+0

私はのためのインターネット上で探してきました最後の2日間。 –

+0

私はバックグラウンドを変更して、タイトルやその他のものの後に行のようなものを追加したいと思っています。誰でもこれを助けることができます。 –

+0

この関数は機能しますが、バックグラウンドを変更するために試したことはすべて失敗しました。 –

答えて

0

PHAによって答えとして、あなたは警告ダイアログにカスタムテーマを割り当てることができます:

How to change theme for AlertDialog

+0

これはうまくいきました。ありがとうございました... –

0

解決策1:

  1. オープンcolors.xml
  2. このように色を定義します。

    builder.getWindow().setBackgroundDrawableResource(android.R.color.background_dark); 
    

解決方法2:

    <color name="background_dark">#3F51B5</color>
  1. をごダイアログ上show()を呼び出した後、このような背景色を設定

  2. Deだから、細かいカスタムテーマ

    //assuming you have `@color/White` and `@color/colorPrimaryDark` defined in `colors.xml` 
    <style name="AlertDialogCustom" parent="@android:style/Theme.Dialog"> 
        <item name="android:textColor">@color/White</item> 
        <item name="android:textStyle">bold</item> 
        <item name="android:headerDividersEnabled">true</item> 
        <item name="android:typeface">normal</item> 
        <item name="android:background">@color/colorPrimaryDark</item> 
    </style> 
    
  3. セットスタイル

    AlertDialog.Builder builder = new AlerdDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom)); 
    

が、これはあなたのコードは次のようになりますどのようにされています

public void userNameRequired(View view) 
    { 
     AlertDialog.Builder builder = new AlerdDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom)); 
     TextView newMessage = new TextView(this); 
     newMessage.setText(" User Name is Required to be between 7 and 20 caracters long."); 
     newMesage.setGravity(Gravity.CENTER_HORIZONTAL); 
     builder.setView(newMessage); 

     TextView title = new TextView(this); 
     title.setText("!! NOTICE !!"); 
     title.setGravity(Gravity.CENTER); 
     title.setTextSize(28); 
     title.setTextColor(Color.RED); 

     builder.setCustomTitle(title); 

     builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
     { 
      public void onClick(DialogInterface dialog, int id) 
      { 

      } 
     }); 

     builder.show(); 
    } 

AlertDialog alertDialog = new AlertDialog.Builder(getContext(), R.style.MyDialogTheme) 
     ... 
     .create(); 
+0

返信いただきありがとうございます。どこにこの新しいコードを追加しますか?私は検索の前にこのタイプのコードを見ましたが、どこに追加するのか分からなかったのです。 –

+0

私はそれを私のレイアウトといくつかの異なる場所に追加しようとしましたが、すべてのエラーがあります。 –

+0

が解決策1で詳細を追加しました。確認して試してみてください。 –

関連する問題