package com.wangdaye.mysplash.common.ui.widget.preference; import android.content.Context; import android.graphics.Typeface; import android.os.Build; import android.preference.Preference; import android.support.annotation.RequiresApi; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; import android.widget.TextView; import com.wangdaye.mysplash.R; import com.wangdaye.mysplash.common.utils.DisplayUtils; import com.wangdaye.mysplash.common.utils.manager.ThemeManager; /** * Mysplash preference. * * A Preference that can set style of the texts. * * */ public class MysplashPreference extends Preference { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public MysplashPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public MysplashPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public MysplashPreference(Context context, AttributeSet attrs) { super(context, attrs); } public MysplashPreference(Context context) { super(context); } @Override protected void onBindView(View view) { super.onBindView(view); TextView title = (TextView) view.findViewById(android.R.id.title); title.setTextSize( TypedValue.COMPLEX_UNIT_PX, getContext().getResources().getDimension(R.dimen.title_text_size)); title.setTypeface(Typeface.DEFAULT_BOLD); title.setTextColor(ThemeManager.getTitleColor(getContext())); TextView summary = (TextView) view.findViewById(android.R.id.summary); summary.setTextSize( TypedValue.COMPLEX_UNIT_PX, getContext().getResources().getDimension(R.dimen.subtitle_text_size)); DisplayUtils.setTypeface(getContext(), summary); summary.setTextColor(ThemeManager.getSubtitleColor(getContext())); } }