| package org.wordpress.android.ui.prefs; |
| |
| import android.content.Context; |
| import android.content.res.Resources; |
| import android.content.res.TypedArray; |
| import android.preference.Preference; |
| import android.support.annotation.NonNull; |
| import android.text.TextUtils; |
| import android.util.AttributeSet; |
| import android.util.TypedValue; |
| import android.view.View; |
| import android.widget.TextView; |
| |
| import org.wordpress.android.R; |
| |
| public class WPPreference extends Preference implements PreferenceHint { |
| private String mHint; |
| |
| public WPPreference(Context context, AttributeSet attrs) { |
| super(context, attrs); |
| |
| TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.DetailListPreference); |
| |
| for (int i = 0; i < array.getIndexCount(); ++i) { |
| int index = array.getIndex(i); |
| if (index == R.styleable.DetailListPreference_longClickHint) { |
| mHint = array.getString(index); |
| } |
| } |
| |
| array.recycle(); |
| } |
| |
| @Override |
| protected void onBindView(@NonNull View view) { |
| super.onBindView(view); |
| |
| Resources res = getContext().getResources(); |
| TextView titleView = (TextView) view.findViewById(android.R.id.title); |
| TextView summaryView = (TextView) view.findViewById(android.R.id.summary); |
| if (titleView != null) { |
| titleView.setTextSize(TypedValue.COMPLEX_UNIT_PX, res.getDimensionPixelSize(R.dimen.text_sz_large)); |
| titleView.setTextColor(res.getColor(isEnabled() ? R.color.grey_dark : R.color.grey_lighten_10)); |
| } |
| if (summaryView != null) { |
| summaryView.setTextSize(TypedValue.COMPLEX_UNIT_PX, res.getDimensionPixelSize(R.dimen.text_sz_medium)); |
| summaryView.setTextColor(res.getColor(isEnabled() ? R.color.grey_darken_10 : R.color.grey_lighten_10)); |
| } |
| } |
| |
| @Override |
| public boolean hasHint() { |
| return !TextUtils.isEmpty(mHint); |
| } |
| |
| @Override |
| public String getHint() { |
| return mHint; |
| } |
| |
| @Override |
| public void setHint(String hint) { |
| mHint = hint; |
| } |
| } |