1415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes/* 2415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * Copyright (C) 2014 The Android Open Source Project 3415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 4415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 5415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * you may not use this file except in compliance with the License. 6415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * You may obtain a copy of the License at 7415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 8415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 9415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 10415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * Unless required by applicable law or agreed to in writing, software 11415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 12415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * See the License for the specific language governing permissions and 14415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * limitations under the License. 15415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes */ 16415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 17415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banespackage android.support.v7.internal.widget; 18415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 19415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.content.Context; 20415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.os.Build; 21415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.util.AttributeSet; 22415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.widget.EditText; 23415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.widget.Spinner; 24415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 25415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes/** 26415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * An tint aware {@link android.widget.Spinner}. 27415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 28415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * @hide 29415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes */ 30415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banespublic class TintSpinner extends Spinner { 31415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 32415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes private static final int[] TINT_ATTRS = { 33415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes android.R.attr.background, 34415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes android.R.attr.popupBackground 35415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes }; 36415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 37415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes public TintSpinner(Context context) { 38415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes this(context, null); 39415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 40415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 41415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes public TintSpinner(Context context, AttributeSet attrs) { 42415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes this(context, attrs, android.R.attr.spinnerStyle); 43415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 44415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 45415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes public TintSpinner(Context context, AttributeSet attrs, int defStyleAttr) { 46415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes super(context, attrs, defStyleAttr); 47415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 48415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes TintTypedArray a = TintTypedArray.obtainStyledAttributes(context, attrs, TINT_ATTRS, 49415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes defStyleAttr, 0); 50415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes setBackgroundDrawable(a.getDrawable(0)); 51415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 52415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes if (Build.VERSION.SDK_INT >= 16 && a.hasValue(1)) { 53415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes setPopupBackgroundDrawable(a.getDrawable(1)); 54415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 55415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 56415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes a.recycle(); 57415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 58415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 59415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes} 60