2012-03-31 9 views
1

Android 공유 환경 설정이있는 TextView을 사용하여 샘플 응용 프로그램을 만들었습니다. 내 응용 프로그램에서 일부 텍스트 (예 : "Android Font Text")가 들어있는 샘플 텍스트 뷰가 있고의 글꼴 세트가 있습니다. 여기 내 요구 사항은, 내가 textview를 만지면 샘플 대화 상자가 나타납니다.이 글꼴의 목록을 보여줍니다.. 성공적으로 변경된 글꼴 중 하나를 선택하면 특정 활동에만 지속됩니다. 다음 활동으로 돌아 가면 텍스트보기가 기본 스타일에 남아 있습니다. 여기에 내가 어떻게 글꼴에 대한 공유 환경 설정을 얻을 수 있습니다. 에디터를 통해 타입 페이스 오브젝트를 전달할 수 없습니다. 나는 이런 식으로 사용했다.Android 서체 페이스에 SharedPreferece를 사용하는 방법?

유감 스럽지만 작동하지 않을 것이다. 어떻게하면 내 문제를 해결할 수 있을까? 미리 감사드립니다.

+0

Aerrow, 글꼴을로드하는 데 일반적인 방법을 사용하고 sharedpreferences에만 글꼴 이름을 저장하십시오. –

+0

나는이 점에 대해 명확하지 않습니다. – Aerrow

+0

에 대한 몇 가지 예제를 게시 할 수 있습니까? 그가 말하는 것은 글꼴의 이름 font.toString()보다는 오히려 - 동일하지 않습니다. 또한 글꼴을로드하기위한 별도의 메소드, 즉 getFont (String file_name)을 작성하십시오. – lrAndroid

답변

0

그래서 활동이 시작될 때마다 sharedpreferences에서 글꼴을로드하려고합니까?

것은 당신이 무엇을해야하는지, 제대로 이해하고있어 경우 것이 1) 사용자가 선택한 글꼴의 파일 이름을 저장 (즉, "digit_fonts/AKEI_ _ .TTF") 2)로드 공유 환경 설정에 저장된 파일 이름을 사용하는 글꼴. 예 :

Typeface font = Typeface.createFromAsset(getAssets(),font_pref.getString("font_style", default_font_filename)); 

그런 다음 평상시처럼 글꼴을 적용하십시오.

font_style = font_pref.getString("font_style", null); 
if (font_style!=null){ 
    Typeface font = Typeface.createFromAsset(getAssets(),font_style); 
    font.isBold(); 
    mTextView.setTypeface(font); 
} 

가 저장하려면 :

로드하려면 편집

font_editor = font_pref.edit(); 
font_editor.putString("font_style", font_style); 
font_editor.commit(); 

당신이 볼 수 있듯이, font_style 실제로 글꼴 (나는했습니다 방식의 파일 위치 위 코드). 사용자가 글꼴을 선택하면 font_style을 변경 한 다음 환경 설정에 저장합니다.

+0

재생 해 주셔서 감사합니다. "default_font_filename"대신 묻는 것에 대해 사과드립니다. 어떤 변수를 사용합니까? – Aerrow

+0

"digit_fonts/AKEI __. TTF"또는 '기본'글꼴이 저장되어있는 곳이면 어디든됩니다. 또 다른 옵션은 sharedpreferences에서 String을 별도로 가져 오는 것입니다 (두 번째 매개 변수 또는 기본값은 모두 null로 남겨 둡니다). 위의 변수가 null이 아닌 경우에만 프로그램에서 글꼴을 설정하도록 할 수 있습니다. – lrAndroid

+0

기호를 변경하고 환경 설정을 지정하고 환경 설정을 얻으려면 올바른 코드를 게시하십시오. – Aerrow