programing

Android TextView 행 간 패딩

oldcodes 2023. 8. 27. 09:52
반응형

Android TextView 행 간 패딩

긴 텍스트를 표시하는 텍스트 보기가 있습니다.선 높이 속성이 있는 CSS에서처럼 선 사이에 약간의 공간을 주고 싶습니다.어떻게 해야 하나요?

사용할 수 있습니다.lineSpacingExtra그리고.lineSpacingMultiplierXML 파일에 있습니다.

텍스트 사이에 패딩을 원하는 경우LineSpacingExtra="10sp"

<TextView
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:lineSpacingExtra="10sp"/>

조사할 수 있습니다.android:lineSpacingExtraXML에 적용합니다.

추가 정보는 이 페이지에 있습니다.

또는 관련된 방법public void setLineSpacing (float add, float mult)

여기에 추가 정보

이 보충 답변은 줄 간격 변경의 효과를 보여줍니다.

enter image description here

다음을 사용하여 승수 및/또는 추가 간격을 설정할 수 있습니다.

textView.setLineSpacing(float add, float mult)

또는 다음과 같은 값을 얻을 수 있습니다.

int lineHeight = textView.getLineHeight();
float add = tvSampleText.getLineSpacingExtra();          // API 16+
float mult = tvSampleText.getLineSpacingMultiplier();    // API 16+

공식이 있는 곳에

lineHeight = fontMetricsLineHeight * mult + add

기본 승수는 다음과 같습니다.1기본 추가 간격은 다음과 같습니다.0.

추가 중android:lineSpacingMultiplier="0.8"줄 간격을 80%까지 설정할 수 있습니다.

사용할 수 있습니다.TextView.setLineSpacing(n,m)기능.

다음 중 하나를 사용할 수 있습니다.lineSpacingExtra또는lineSpacingMultiplierXML 파일에 있습니다.

lineSpacingExtra텍스트 보기의 텍스트 줄 사이에 추가 공백 추가

<TextView
    android:lineSpacingExtra="4dp" />

lineSpacingMultiplier선 공간 높이에 대한 축척 계수로 작동합니다.

<TextView
    android:lineSpacingMultiplier="0.8" />

즉, 각 라인 높이는height * multiplier + extra.

2개의 속성을 사용할 수 있습니다.


lineSpacingExtra: dp 간격에 사용합니다.

android:lineSpacingExtra="4dp"

lineSpacingMultiply: 상대적 척도에 사용합니다.

android:lineSpacingMultiplier="0.8"

위의 솔루션에 대한 확장된 답변으로서

추가할 수 있음을 기억하십시오.<item name="android:lineHeight">16sp</item>라인 높이를 직접 설정할 수 있지만 위의 문서에 따르면 다음과 같이 작동합니다.

Explicit height between lines of text. If set, this will override the values set for lineSpacingExtra and lineSpacingMultiplier.
        <attr name="lineHeight" format="dimension" />

따라서 다음 중 하나를 사용해야 합니다.lineSpacingExtra & lineSpacingMultiplier또는lineHeight둘 다 아닙니다.

2021년 16월 11일 기준으로 라인 공간 높이를 늘리기 위해 다음 라인을 사용합니다.

android:lineHeight="25dp"

저에게는 다른 답변들이 도움이 되지 않았습니다. 왜냐하면 그들은 속성을 업데이트했고 이 버전에서 꽤 많은 것들이 변경되었기 때문입니다.

나한테 효과가 있어요.

텍스트 보기에 두 줄만 추가합니다.

 android:includeFontPadding="false"
 android:lineSpacingMultiplier="0.8"
<TextView
            android:id="@+id/searchByItemTv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:fontFamily="@font/dm_sans"
            android:includeFontPadding="false"
            android:lineSpacingMultiplier="0.8"
            android:paddingVertical="3dp"
            android:paddingStart="4dp"
            android:paddingEnd="6dp"
            android:text="@string/date_of_birth"
            android:textColor="@color/text_black"
            android:textSize="16dp" />

참고: 사용 안 함android:textAppearance=""

이전:enter image description here

이후:

언급URL : https://stackoverflow.com/questions/6863974/android-textview-padding-between-lines

반응형