AppCompatEditText.java revision 469286122bcbbecbdd0bef74fb50f9d8920e77b9
1469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes/*
2469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * Copyright (C) 2014 The Android Open Source Project
3469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes *
4469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * you may not use this file except in compliance with the License.
6469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * You may obtain a copy of the License at
7469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes *
8469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes *
10469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * Unless required by applicable law or agreed to in writing, software
11469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * See the License for the specific language governing permissions and
14469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * limitations under the License.
15469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes */
16469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
17469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banespackage android.support.v7.internal.widget;
18469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
19469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banesimport android.content.Context;
20469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banesimport android.os.Build;
21469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banesimport android.util.AttributeSet;
22469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banesimport android.widget.EditText;
23469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
24469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes/**
25469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * An tint aware {@link android.widget.EditText}.
26469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes *
27469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes * @hide
28469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes */
29469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banespublic class TintEditText extends EditText {
30469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
31469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    private static final int[] TINT_ATTRS = {
32469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes            android.R.attr.background
33469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    };
34469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
35469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    public TintEditText(Context context) {
36469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes        this(context, null);
37469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    }
38469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
39469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    public TintEditText(Context context, AttributeSet attrs) {
40469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes        this(context, attrs, android.R.attr.editTextStyle);
41469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    }
42469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
43469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    public TintEditText(Context context, AttributeSet attrs, int defStyleAttr) {
44469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes        super(context, attrs, defStyleAttr);
45469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes
46469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes        TintTypedArray a = TintTypedArray.obtainStyledAttributes(context, attrs, TINT_ATTRS,
47469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes                defStyleAttr, 0);
48469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes        setBackgroundDrawable(a.getDrawable(0));
49469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes        a.recycle();
50469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes    }
51469286122bcbbecbdd0bef74fb50f9d8920e77b9Chris Banes}
52