2016-04-22 17 views
1

材料デザインdocumentationでは、ダイアログのテキストのコンテンツの埋め込みは24dpでなければならないとしていますが、シンプルなAlerDialogを次のコードで構築すると、スクリーンショットのようにボトムパディングはありません。AlertDialogはマテリアルデザインを正しく使用していませんか?

AlertDialog

public class MainActivity extends android.support.v7.app.AppCompatActivity { 

     @Override 
     public void onCreate(final Bundle savedInstanceState) { 

     final android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(this); 
     builder.setTitle("title"); 
     builder.setMessage("asdf asöldkfasölkdf öasdklfjöa aösdkföa sdköf masjdö lmasjködf mjaösk maöskd mjaösk fmaöskmaöskmföasföalk maölskjd möaslkd möas mjaös m").setCancelable(true) 
      .setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(final DialogInterface dialog, final int id) { 
         dialog.cancel(); 
        } 
       }).setOnCancelListener(new OnCancelListener() { 
       @Override 
       public void onCancel(final DialogInterface dialog) { 
        MainActivity.sMessageDialogId = 0; 
       } 
     }); 
     builder.show(); 
    } 
    } 
+0

利用android.support.v7.app.AlertDialog代わりにアンドロイドを使用してください試してみてください.app.AlertDialog。確認してくださいhttp://stackoverflow.com/questions/26455919/material-design-not-starting-alert-dialogs/29810469#29810469 –

+0

これはすでにサポートバージョンです – David

+0

フレームワークの多くはそれに従わないので、ばかげてマテリアルガイドライン。ダイアログビルダーでカスタムビューを設定せずに解決策を見つけたことはありますか?他のパディングディメンションの多くは、ガイドラインまではあまり一致しません。 –

答えて

0

このbuilder.setPadding(24, 24, 24, 24);

+0

これはうまくいくことがわかっていますが、標準がまだ実装されていないのはなぜですか? – David

+0

'builder.setPadding'はどのAPIを指していますか?私は 'AlertDialog.Builder'文書でそれを見ることはできません。 –

1

は、バージョンの互換性をチェックするために、次のコード、

AlertDialog.Builder builder; 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     builder = new android.app.AlertDialog.Builder(getActivity(),android.R.style.Theme_Material_Light_Dialog_Alert); 
} else { 
     builder = new android.app.AlertDialog.Builder(getActivity()); 
} 
+0

android.support.v7.app.AlertDialogを使用してください。 –

+0

私はandroid.support.v7.app.AppCompatActivityの内部でコードを呼び出しています。このアクティビティでは、Theme.AppCompat.xyのみを使用できます – David

関連する問題