diff options
| author | Alan Viverette <alanv@google.com> | 2015-01-08 15:24:45 -0800 |
|---|---|---|
| committer | Alan Viverette <alanv@google.com> | 2015-01-08 15:25:30 -0800 |
| commit | 4e5168fae43e783a35c5bc731e500196005268fb (patch) | |
| tree | eb5160b5e9a1832221bf87308e7ec2e85178868a /core/java/android/widget/YearPickerView.java | |
| parent | 1ea47aa0839bb33c6bd5223c37d38616edc57181 (diff) | |
Update year picker to use activation colors
Change-Id: I148b592538e1e4a928bd7ebb99a3083b760b839d
Diffstat (limited to 'core/java/android/widget/YearPickerView.java')
| -rw-r--r-- | core/java/android/widget/YearPickerView.java | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/core/java/android/widget/YearPickerView.java b/core/java/android/widget/YearPickerView.java index fb5debcc73ad..6f0465fa9352 100644 --- a/core/java/android/widget/YearPickerView.java +++ b/core/java/android/widget/YearPickerView.java @@ -17,8 +17,10 @@ package android.widget; import android.content.Context; +import android.content.res.ColorStateList; import android.content.res.Resources; import android.util.AttributeSet; +import android.util.StateSet; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; @@ -42,7 +44,7 @@ class YearPickerView extends ListView implements AdapterView.OnItemClickListener private DatePickerController mController; private int mSelectedPosition = -1; - private int mYearSelectedCircleColor; + private int mYearActivatedColor; public YearPickerView(Context context) { this(context, null); @@ -97,15 +99,14 @@ class YearPickerView extends ListView implements AdapterView.OnItemClickListener onDateChanged(); } - public void setYearSelectedCircleColor(int color) { - if (color != mYearSelectedCircleColor) { - mYearSelectedCircleColor = color; - } - requestLayout(); + public void setYearBackgroundColor(ColorStateList yearBackgroundColor) { + mYearActivatedColor = yearBackgroundColor.getColorForState( + StateSet.get(StateSet.VIEW_STATE_ENABLED | StateSet.VIEW_STATE_ACTIVATED), 0); + invalidate(); } - public int getYearSelectedCircleColor() { - return mYearSelectedCircleColor; + public void setYearTextAppearance(int resId) { + mAdapter.setItemTextAppearance(resId); } private void updateAdapterData() { @@ -127,12 +128,8 @@ class YearPickerView extends ListView implements AdapterView.OnItemClickListener mController.onYearSelected(mAdapter.getItem(position)); } - void setItemTextAppearance(int resId) { - mAdapter.setItemTextAppearance(resId); - } - private class YearAdapter extends ArrayAdapter<Integer> { - int mItemTextAppearanceResId; + private int mItemTextAppearanceResId; public YearAdapter(Context context, int resource) { super(context, resource); @@ -140,16 +137,15 @@ class YearPickerView extends ListView implements AdapterView.OnItemClickListener @Override public View getView(int position, View convertView, ViewGroup parent) { - TextViewWithCircularIndicator v = (TextViewWithCircularIndicator) + final TextViewWithCircularIndicator v = (TextViewWithCircularIndicator) super.getView(position, convertView, parent); - v.setTextAppearance(getContext(), mItemTextAppearanceResId); - v.requestLayout(); - int year = getItem(position); - boolean selected = mController.getSelectedDay().get(Calendar.YEAR) == year; - v.setDrawIndicator(selected); - if (selected) { - v.setCircleColor(mYearSelectedCircleColor); - } + v.setTextAppearance(v.getContext(), mItemTextAppearanceResId); + v.setCircleColor(mYearActivatedColor); + + final int year = getItem(position); + final boolean selected = mController.getSelectedDay().get(Calendar.YEAR) == year; + v.setActivated(selected); + return v; } |
