AppCompatSeekBarHelper.java revision 10e2dbc1ad1c01d2824d921a8b0f070859d6f146
110e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes/* 210e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * Copyright (C) 2015 The Android Open Source Project 310e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * 410e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 510e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * you may not use this file except in compliance with the License. 610e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * You may obtain a copy of the License at 710e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * 810e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 910e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * 1010e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * Unless required by applicable law or agreed to in writing, software 1110e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 1210e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1310e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * See the License for the specific language governing permissions and 1410e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes * limitations under the License. 1510e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes */ 1610e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 1710e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banespackage android.support.v7.widget; 1810e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 1910e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banesimport android.graphics.drawable.Drawable; 2010e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banesimport android.support.v7.internal.widget.TintManager; 2110e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banesimport android.support.v7.internal.widget.TintTypedArray; 2210e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banesimport android.util.AttributeSet; 2310e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banesimport android.widget.SeekBar; 2410e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 2510e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banesclass AppCompatSeekBarHelper extends AppCompatProgressBarHelper { 2610e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 2710e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes private static final int[] TINT_ATTRS = { 2810e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes android.R.attr.thumb 2910e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes }; 3010e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 3110e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes private final SeekBar mView; 3210e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 3310e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes AppCompatSeekBarHelper(SeekBar view, TintManager tintManager) { 3410e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes super(view, tintManager); 3510e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes mView = view; 3610e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes } 3710e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 3810e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes void loadFromAttributes(AttributeSet attrs, int defStyleAttr) { 3910e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes super.loadFromAttributes(attrs, defStyleAttr); 4010e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes 4110e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes TintTypedArray a = TintTypedArray.obtainStyledAttributes(mView.getContext(), attrs, 4210e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes TINT_ATTRS, defStyleAttr, 0); 4310e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes Drawable drawable = a.getDrawableIfKnown(0); 4410e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes if (drawable != null) { 4510e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes mView.setThumb(drawable); 4610e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes } 4710e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes a.recycle(); 4810e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes } 4910e2dbc1ad1c01d2824d921a8b0f070859d6f146Chris Banes} 50