When i use dialog.builder the font size is correct but when i use MaterialAlertDialogBuilder the font size of body text is smaller. its ok?
implementation 'com.google.android.material:material:1.1.0-alpha06'
Im use this theme
<style name="AppTheme" parent="Theme.MaterialComponents.Light">
MaterialComponent code
MaterialAlertDialogBuilder(this)
.setMessage("This is a test of MaterialAlertDialogBuilder")
.setPositiveButton("Ok", null)
.show()
AlertDialog.Builder
AlertDialog.Builder(this)
.setMessage("This is a test of AlertDialog.Builder")
.setPositiveButton("Ok", null)
.show()
Where is the problem?
If your dialog is made out of a vertical LinearLayout, just add a "height filling" dummy view, that will occupy the entire height of the screen. Nice!
setCancelable(false); AlertDialog dialog = builder. show(); In order to dismiss the dialog, you can call dismiss function like this. Save this answer.
Create an AlertDialog Builder using the activity's context. Set message content using the builder. Set Positive Button Text and Action to be taken when the button is clicked using the builder. Set Negative Button Text and Action to be taken when the button is clicked using the builder.
It is intentional. They are using different styles.
You can change it using something like:
<style name="Body_ThemeOverlay.MaterialComponents.MaterialAlertDialog" parent="@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="materialAlertDialogBodyTextStyle">@style/BodyMaterialAlertDialog.MaterialComponents.Body.Text</item>
</style>
<style name="BodyMaterialAlertDialog.MaterialComponents.Body.Text" parent="MaterialAlertDialog.MaterialComponents.Body.Text">
<item name="android:textColor">@color/colorAccent</item>
<item name="android:textAllCaps">true</item>
<item name="android:textSize">16sp</item>
<item name="android:textStyle">bold</item>
</style>
and then:
new MaterialAlertDialogBuilder(this,
R.style.Body_ThemeOverlay_MaterialComponents_MaterialAlertDialog)
.setTitle("Title")
.setMessage("Message......")
...
.show();
You can solve like this:
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MyApp.Dialog</item>
<style name="ThemeOverlay.MyApp.Dialog" parent="@style/ThemeOverlay.MaterialComponents.Dialog">
<item name="android:dialogCornerRadius" tools:targetApi="p">@dimen/dp_4</item>
<item name="android:paddingBottom">@dimen/dp_2</item>
...
</style>
You need to use MaterialAlertDialogBuilder
instead of AlertDialog.Builder
.
MaterialAlertDialogBuilder(this)
.setMessage("This is a test of AlertDialog.Builder")
.setPositiveButton("Ok", null)
.show()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With