os márgenes @LinearLayout, RelativeLayout, etc. no funcionan como se esperaba

Los márgenes en diseños de grupo no parecen funcionar.

Por ejemplo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_margin="40dip"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="I'm a button" />

</LinearLayout>

debería mostrar un botón con márgenes de 40p en todos los lados. Sin embargo, tiene márgenes de 80p en la parte derecha e inferior.

¿Estoy haciendo algo mal? ¿Es esto un error?

Una solución alternativa sería usar la gravedad, pero esto solo funciona con márgenes uniformes.

BTW, hay una pregunta similar publicado aquí pero no ha sido respondido.

Respuestas a la pregunta(4)

Su respuesta a la pregunta