Back to project page NXTControl.
The source code is released under:
GNU General Public License
If you think the Android project NXTControl listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
// // FPlayAndroid is distributed under the FreeBSD License ///* w w w.jav a 2s.c o m*/ // Copyright (c) 2013, Carlos Rafael Gimenes das Neves // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR // ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // The views and conclusions contained in the software and documentation are those // of the authors and should not be interpreted as representing official policies, // either expressed or implied, of the FreeBSD Project. // // https://github.com/carlosrafaelgn/FPlayAndroid // package br.com.bandtec.nxtcontrol.ui; import android.annotation.TargetApi; import android.content.Context; import android.graphics.Canvas; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.os.Build; import android.util.AttributeSet; import android.view.ViewDebug.ExportedProperty; import android.widget.TextView; public class BgTextView extends TextView { private int state; public BgTextView(Context context) { super(context); init(); } public BgTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public BgTextView(Context context, AttributeSet attrs) { super(context, attrs); init(); } private void init() { super.setBackgroundResource(0); super.setTextColor(UI.colorState_text_normal); super.setTypeface(Typeface.SANS_SERIF); } public void setForceBlack(boolean forceBlack) { super.setTextColor(forceBlack ? UI.colorState_text_sel : UI.colorState_text_normal); } @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override public void setBackground(Drawable background) { super.setBackground(null); } @Override @Deprecated public void setBackgroundDrawable(Drawable background) { super.setBackgroundDrawable(null); } @Override public void setBackgroundResource(int resid) { super.setBackgroundResource(0); } @Override public void setBackgroundColor(int color) { super.setBackgroundResource(0); } @Override public Drawable getBackground() { return null; } @Override @ExportedProperty(category = "drawing") public boolean isOpaque() { return (state != 0); } @Override protected void drawableStateChanged() { super.drawableStateChanged(); state = UI.handleStateChanges(state, isPressed(), isFocused(), this); } @Override protected void onDraw(Canvas canvas) { getDrawingRect(UI.rect); UI.drawBg(canvas, state, UI.rect, true); super.onDraw(canvas); } }