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


¿Qué es Margen principal en Android?

¿Cuál es el significado del margen principal como en

  • LeadingMarginSpan
  • LeadingMarginSpan.Standard
  • LeadingMarginSpan.LeadingMarginSpan2

La documentación de LeadingMarginSpan dice

Un estilo de párrafo que afecta al margen principal. Puede haber varios márgenes de margen en un solo párrafo; Serán ordenados, añadiendo cada uno su margen a los anteriores. El margen superior está a la derecha para líneas en un párrafo de derecha a izquierda.

Pero en realidad no dice cuál es el margen principal.

¿Es como una pestaña en la primera línea del párrafo? ¿O es donde el párrafo entero está sangrado? Supongo que es / lidɪŋ / y no / lɛdɪŋ / as en el espacio entre líneas .

La razón por la que me estoy preguntando es que estoy tratando de hacer mi propio TextView con un StaticLayout. Me refiero al código fuente Layout y StaticLayout para las ideas. Estoy tratando de cortar todas las partes innecesarias, pero no sabía lo que era.

Aquí están algunas preguntas tan que también preguntan sobre el margen principal, pero los askers parecen saber lo que significa.

  • Margen ajustado a la primera línea de textView
  • LeadingMarginSpan2 – cómo limitar el número de párrafos con margen

Una imagen sería muy útil, pero no estrictamente necesaria.

One Solution collect form web for “¿Qué es Margen principal en Android?”

Margen superior se refiere a cuánto un párrafo está sangrado, tanto la primera línea como las líneas siguientes.

Los siguientes ejemplos deben dejar todo claro. Los TextViews de los ejemplos siguientes contienen dos párrafos de texto (es decir, incluyen el carácter \n ).

Aquí está el código cliché que se utilizó:

 LeadingMarginSpan span = ... // substitute this line with the examples below TextView textView = (TextView) findViewById(R.id.textView) ; SpannableString spannableString = new SpannableString("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); spannableString.setSpan(span, 0, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); textView.setText(spannableString); 

LeadingMarginSpan.Standard

Hay dos constructores principales.

Primer constructor: LeadingMarginSpan.Standard(int first, int rest)

  • first indica cuántos píxeles para sangrar la primera línea de cada párrafo.
  • rest indica cuántos píxeles para sangrar el resto de las líneas de cada párrafo.

Introduzca aquí la descripción de la imagen

El ejemplo de la izquierda marca la primera línea en 20 píxeles y el resto de las líneas en 100 píxeles. (No se ha añadido ningún relleno al TextView .)

 LeadingMarginSpan span = new LeadingMarginSpan.Standard(20, 100); // left example 

El ejemplo de la derecha muestra la primera línea indentada por 100 y el resto de las líneas no sangradas en absoluto.

 LeadingMarginSpan span = new LeadingMarginSpan.Standard(100, 0); // right exmaple 

Segundo constructor: LeadingMarginSpan.Standard(int every)

  • every dice cuántos píxeles para sangrar cada línea de cada párrafo.

Introduzca aquí la descripción de la imagen

Este ejemplo marca cada línea en 200 píxeles.

 LeadingMarginSpan span = new LeadingMarginSpan.Standard(200); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.