Getting default padding for AlertDialog

SnapDragon picture SnapDragon · Oct 12, 2015 · Viewed 22.7k times · Source

I need to make a AlertDialog with a custom view. The message of a AlertDialog has a default padding but when i set a view it has no padding, i wand to get the same padding as the default as the message. I'm using a style that extends Holo theme (if this is relevant).

AlertDialog.Builder builder = new AlertDialog.Builder(PlaylistListView.this.getContext());
builder.setTitle("Title");
builder.setView(inflate(context, R.layout.music_player_create_dialog, null));
builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);
builder.show();

this is the layout for the content:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/abc_dialog_padding_material"
    android:paddingRight="@dimen/abc_dialog_padding_material"
    android:paddingTop="@dimen/abc_dialog_padding_top_material"
    android:paddingBottom="@dimen/abc_dialog_padding_top_material">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Title:"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="bottom"
        android:background="@null"
        android:layout_marginTop="20dp"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="@color/divider"/>
</LinearLayout>

Answer

trooper picture trooper · Jun 22, 2016

The ?dialogPreferredPadding attribute now has this value. It was introduced in API 22; see https://developer.android.com/sdk/api_diff/22/changes/android.R.attr.html.

You can get consistent padding in your custom dialogs by specifying this attribute on the dialog's layout. For example, android:paddingLeft="?dialogPreferredPadding" will bring the dialog's contents into alignment with its title.