Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Diseño del material: los márgenes izquierdos para el título y el contenido de la barra de acción no coinciden

Estoy tratando de establecer márgenes de pantalla siguiendo las directrices para el diseño – métricas y líneas clave . Específicamente, el contenido de la lista en pantallas móviles debe tener un margen de 72 dp y alinearse con el título como se muestra en la guía:

Introduzca aquí la descripción de la imagen

Como Android Studio genera automáticamente valores de margen en el archivo res / dimens.xml, pensé que conseguiría que mi contenido se alineara con el título añadiendo mi propio margen interno:

Dimens.xml

<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <!-- 16 + 56 = 72 = "Content left margin from screen edge" --> <dimen name="content_horizontal_margin">56dp</dimen> </resources> 

Myactivity.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"> <TextView android:id="@+id/tvEditPlaylistInfo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="@dimen/content_horizontal_margin" android:textAppearance="?android:attr/textAppearanceMedium" android:text="test" /> <ImageButton android:layout_width="36dp" android:layout_height="36dp" android:src="@drawable/action_current" android:layout_alignBottom="@id/tvEditPlaylistInfo" android:layout_toRightOf="@id/tvEditPlaylistInfo" android:layout_marginLeft="16dp"/> <ListView android:id="@+id/lvAudioFiles" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/content_horizontal_margin" android:layout_below="@id/tvEditPlaylistInfo"> </ListView> </RelativeLayout> 

Pero de alguna manera mi contenido está "apagado" por cerca de 8dp (emulador, Lollipop 22).

Introduzca aquí la descripción de la imagen

Estoy usando un tema personalizado con el padre Theme.AppCompat.Light.DarkActionBar pero sólo cambié los colores por lo que creo que no es la fuente de mi problema.

¿Qué me estoy perdiendo?

  • Cómo crear un submenú para el botón de acción flotante en Android Material Design?
  • Diseño del material "Delightful Details" Implementación
  • No se puede diseñar el modo de acción cuando se utiliza la barra de herramientas
  • El estilo AutoCompleteTextView con AppCompat.EditText no funciona
  • Barra de herramientas de Android + Diseño de pestaña + Cajón, Ocultar barra de herramientas al desplazarse y llevar TabLayout a la parte superior
  • Comunicación entre las pestañas de SlidingTabLayout
  • Elementos del menú de NavigationView con el contador a la derecha
  • La elevación no funciona en un LinearLayout
  • One Solution collect form web for “Diseño del material: los márgenes izquierdos para el título y el contenido de la barra de acción no coinciden”

    Quite esto de su TextView y ListView :

     android:layout_marginLeft="@dimen/content_horizontal_margin" 

    Su etiqueta padre ya especifica qué debe ser el relleno:

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"> 

    La razón por la que está apagado es porque estás relleno, y luego establecer un margen.

    Además, sólo por interés, aquí está la diferencia entre el relleno y el margen .

    ACTUALIZAR

    Según la discusión con @ 0X0nosugar, hemos llegado a un punto en el que el código siguiente ayuda a lograr su objetivo:

    Para modificar la ActionBar, debe agregarse lo siguiente a su onCreate ():

     ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { View customView = getLayoutInflater().inflate(R.layout.custom_action_bar, null); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayShowCustomEnabled(true); actionBar.setCustomView(customView); } 

    Crear una vista personalizada para la barra de herramientas

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/accent_deeporangeA400" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MyMusicApp" android:id="@+id/ab_title" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_marginLeft="@dimen/activity_horizontal_margin" android:textAppearance="?android:attr/textAppearanceLarge"/> </RelativeLayout> 

    Esto debería ayudarle a alcanzar su objetivo! Buena investigación de su parte!

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.