2017-02-06 6 views
1

안드로이드 OS에서 글꼴 버그가 있습니다 https://github.com/ismlsmile/TestGluonMobilegluonmobile 내가이 버그를 보여 github.com에 데모 프로젝트를 생성

프로젝트는 템플릿 "글루온 모바일 - 단일보기 프로젝트"에 의해 만들어지고 난 단지 수정

1.Windows.png : BasicView.java의 텍스트가 일부 중국어 문자를 추가하는 한자가

에게 안드로이드

에 표시를 표시 할 수 없습니다 : 윈도우

2.Android.png에 괜찮습니다 그 가능성이있다. 글꼴 버그.

답변

1

기본적으로 Gluon Mobile은 중국어 문자를 포함하지 않는 Roboto 글꼴을 사용합니다.

이 문제를 해결할 수있는 쉬운 방법 중 하나는이를 포함하는 Android 시스템 글꼴을 설정하는 것입니다.

내 안드로이드 기기에서 Font.getFamilies()을 사용하면이 하나를 발견했습니다 : Noto Sans CJK SC Regular. 아마 당신도 그 비슷한 가족을 갖게 될 것입니다.

.view { 
    -fx-font-family: "Noto Sans CJK SC Regular"; 
} 

을 다음보기에서로드 :

그래서 당신은 쉽게 콘텐츠와 CSS 파일 (src/main/resources/style.css)을 만들 수 있습니다 작동해야 그

public BasicView(String name) { 
    super(name); 

    getStylesheets().add(getClass().getResource("/style.css").toExternalForm()); 
    ... 
} 

.

EDIT뿐만 아니라 AppBar 폰트를 적용하려면

상기 CSS이 컨트롤 뷰의 일부가 아닌 한, 현장에 설정되어야한다. 모바일 응용 클래스에서

:

@Override 
public void postInit(Scene scene) { 
    Swatch.BLUE.assignTo(scene); 
    scene.getStylesheets().add(getClass().getResource("/style.css").toExternalForm()); 
} 

그런 다음 당신은 root에 글꼴을 적용해야하며, 다른 글꼴을 사용하는 모든 다른 컨트롤, AppBar 등 :

.root, 
.app-bar > .title-box > .label { 
    -fx-font-family: "Noto Sans CJK SC Regular"; 
} 

ScenicView을 사용하면 해당 컨트롤의 스타일 클래스에 대해 알아볼 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 프로젝트를 수정하고 css를 추가하면 일반 텍스트에서는 정상이지만 AppBar의 텍스트에는 여전히 문제가 있습니다. github에서 프로젝트를 업데이트하고 안드로이드 이미지를 업데이트했습니다. –

+0

내 대답을 편집했습니다. 즉, Scene에 CSS를 적용하고 AppBar와 같은 사용자 정의 글꼴을 사용하는 다른 컨트롤에 적용해야합니다. –