2017-12-31 60 views
0

아랍어와 영어의 두 언어로 된 TextView이 있습니다.언어에 따라 단일 TextView에 여러 TypeFace를 적용하는 방법은 무엇입니까?

arabic.ttfenglish.ttf의 두 가지 글꼴이 있습니다.

두 개의 글꼴을 단일 TextView에 적용하고 언어에 따라 글꼴을 변경해야합니다.

아랍어의 경우 arabic.ttf 만 적용하고 영어 (korea.ttf)를 적용해야합니다.

문제는 두 글꼴이 모두 동일한 TextView에있어 두 글꼴을 적용하는 데 문제가 있다는 것입니다.

SpannableStringBuilder의 예를 확인했지만 도움이되지 않았습니다.

작동 코드를 제공해주십시오.

+0

정확히 달성하려는 것은 무엇입니까? –

답변

0

가장 쉬운 방법은 당신이 원하는 것을 달성하기 위해 :

2 개 폴더 만들기 :

  • 고해상도 엉 글꼴

    • 고해상도를// FONT-AR

    이 영어 폰트를 넣어 -en 폴더와 -ar 폴더 안에있는 아랍어 글꼴 파일 안에 있습니다.

    각 폴더에 동일한 이름을 갖도록 파일의 이름을 변경하십시오. 예 : 당신의 텍스트 뷰에서

    textViewFont.ttf 
    

    android:fontFamily="@font/textViewFont"

    이 방법을 추가, 앱이 열릴 때 XML 프레임 워크는 현재 로케일에 따라 글꼴을

  • +0

    두 글꼴을 동시에 필요합니다. –

    +0

    스타일은 텍스트가 아닌보기 개체 자체에 적용되므로 하나의보기만으로는이 작업을 수행 할 수 없습니다. – th3oxen

    +0

    괜찮 았기 때문에 아랍어 글꼴을 적용하면 영어 텍스트가 영향을받지 않습니다. 영어 문자의 모든 공백이 사라졌습니다. 예를 들어 아랍어 텍스트를 적용하면 아랍어 글꼴이 변경되지만 "샘플 텍스트 글꼴 "이"sampletextfont "로 표시됩니다. 왜 이러한 공간이 없어 졌습니까? –

    0

    당신은 사용자 정의 글꼴을 확장 할 것이다로드 글꼴을 TypeFaceSpan에 추가하고 SpannableString을 사용하여 고정 된 값을 얻을 수 있습니다. 링크 https://stackoverflow.com/a/9619371/8208341이 도움이되었습니다.

    또한 텍스트 뷰 텍스트를 문자열 배열로 분할 한 다음 위에서 작성한 방법을 적용하기 위해 루프 스루합니다.

    관련 문제