2017-05-13 6 views
0

현재 내 설정 활동에서 두 가지 글꼴 크기를 제공합니다. 미리 정의 된 모든 환경 설정 및 사용자 정의 환경 설정을위한 하나의 텍스트 크기. 환경 설정 xml은 다음과 같습니다. 대화 환경 설정에서 확장 한 사용자 정의 기본 설정.사용자 정의 기본 설정에 다른 글꼴 크기를 지정하는 내 기본 설정 화면을 중지하는 방법

<?xml version="1.0" encoding="utf-8"?> 
 
<PreferenceScreen 
 
    xmlns:android="http://schemas.android.com/apk/res/android" 
 
    > 
 
    <CheckBoxPreference 
 
    android:key="changemode" 
 
    android:title="@string/change_mode" 
 
    android:defaultValue="true" 
 
    android:summary="@string/change_mode_summary" 
 
    /> 
 

 
<org.myapp.settings.NumberPickerPreference 
 
    android:id="@+id/pref_num_picker_pref" 
 
    android:key="@string/number_of_uploads" 
 
    android:title="@string/number_of_uploads" 
 
    /> 
 

 

 
</PreferenceScreen>

그 이유는 무엇입니까 ? 환경 설정에는 미리 정의 된 텍스트 크기가 없으므로 textsize 속성을 추가하지 않고이 문제를 해결할 수 있습니까?

답변

0

자신 만의 (텍스트) 뷰를 팽창 시키거나 작성하는 경우 기본 구현과 동일한 스타일을 유지해야합니다.

this source layout에서 제목에는 textAppearanceMedium을 사용하고 요약에는 textAppearanceSmall을 사용하는 것 같습니다. 당신은 단지 pramatically (당신은 아마이 경우 안 함), 사용할 수있는 뷰를 작성하는 경우

그래서, 제목에 대한 사용자 정의 레이아웃에서 당신은

<!-- for title --> 
android:textAppearance="?android:attr/textAppearanceMedium" 
<!-- for summary or description --> 
android:textAppearance="?android:attr/textAppearanceSmall" 

를 사용해야합니다

// for title 
titleView.setTextAppearance(android.R.style.TextAppearance_DeviceDefault_Medium); 
// for summary 
titleView.setTextAppearance(android.R.style.TextAppearance_DeviceDefault_Small); 
0

사용자 지정 대화 상자 (DialogPreference를 확장하는 클래스)의 클래스 생성자에서 사용자가 지정해야하는

R.attr.dialogPreferenceStyle 

예 :

public class YourPreference extends DialogPreference { 

    public YourPreference(Context context, AttributeSet attrs) { 
     this(context, attrs, R.attr.dialogPreferenceStyle); 
    } 
(...) 
}