Android Open Source - nxt-remote-controller Button Rectangle From Project Back to project page nxt-remote-controller .
License The source code is released under:
MIT License
If you think the Android project nxt-remote-controller listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.gc.materialdesign.views;
/ * w w w . j a v a 2 s . c o m * /
import com.gc.materialdesign.R;
import com.gc.materialdesign.utils.Utils;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.RelativeLayout;
import android.widget.TextView;
/**
* @tips :????
* @date :2014-11-1
*/
public class ButtonRectangle extends Button {
protected TextView textButton;
protected int defaultTextColor;
public ButtonRectangle(Context context, AttributeSet attrs) {
super (context, attrs);
}
@Override
protected void onInitDefaultValues(){
super.onInitDefaultValues();
textButton = new TextView(getContext());
defaultTextColor = Color.WHITE;
rippleSpeed = 5.5f;
minWidth = 80;
minHeight = 36;
backgroundResId = R.drawable.background_button_rectangle;
}
@Override
protected void onInitAttributes(AttributeSet attrs) {
super.onInitAttributes(attrs);
if (isInEditMode()) {
// ????????????????????????textView?????????????
textButton = new TextView(getContext());
}
String text = null;
/**
* ??????????
*/
int textResource = attrs.getAttributeResourceValue(ANDROIDXML,"text" ,-1);
if (textResource != -1){
text = getResources().getString(textResource);
}else {
//?????????????@String/xx????????
text = attrs.getAttributeValue(ANDROIDXML,"text" );
}
/**
* ???????????TextView???????????????
*/
if (text != null){
textButton.setText(text);
}
/**
* ??textSize
*/
String textSize = attrs.getAttributeValue(ANDROIDXML,"textSize" );
if (text != null && textSize != null) {
textSize = textSize.substring(0, textSize.length() - 2);//12sp->12
textButton.setTextSize(Float.parseFloat(textSize));
}
/**
* ??textColor
*/
int textColor = attrs.getAttributeResourceValue(ANDROIDXML,"textColor" ,-1);
if (text != null && textColor != -1){
textButton.setTextColor(getResources().getColor(textColor));
}
else if (text != null ){
// 16???color
String color = attrs.getAttributeValue(ANDROIDXML,"textColor" );
if (color != null && !isInEditMode()) {
textButton.setTextColor(Color.parseColor(color));
}else {
textButton.setTextColor(defaultTextColor);
}
}
textButton.setTypeface(null, Typeface.BOLD);
//textButton.setPadding(5, 5, 5, 5);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
params.setMargins(Utils.dpToPx(5, getResources()), Utils.dpToPx(5, getResources()), Utils.dpToPx(5, getResources()), Utils.dpToPx(5, getResources()));
textButton.setLayoutParams(params);
addView(textButton);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (x != -1) {
Rect src = new Rect(0, 0, getWidth()-Utils.dpToPx(6, getResources()), getHeight()-Utils.dpToPx(7, getResources()));
Rect dst = new Rect(Utils.dpToPx(6, getResources()), Utils.dpToPx(6, getResources()), getWidth()-Utils.dpToPx(6, getResources()), getHeight()-Utils.dpToPx(7, getResources()));
canvas.drawBitmap(makeCircle(), src, dst, null);
}
invalidate();
}
// GET AND SET
public void setText(final String text){
textButton.setText(text);
}
// Set color of text
public void setTextColor(int color){
textButton.setTextColor(color);
}
public void setTextSize(float size) {
textButton.setTextSize(size);
}
@Override
public TextView getTextView() {
return textButton;
}
}
Java Source Code List .OldPadControllerFragment.java com.andexert.library.ApplicationTest.java com.andexert.library.RippleView.java com.andexert.rippleeffect.ApplicationTest.java com.andexert.rippleeffect.CustomAdapter.java com.andexert.rippleeffect.MainActivity.java com.andexert.rippleeffect.OnTapListener.java com.gc.materialdesign.utils.Utils.java com.gc.materialdesign.views.ButtonFlat.java com.gc.materialdesign.views.ButtonFloatSmall.java com.gc.materialdesign.views.ButtonFloat.java com.gc.materialdesign.views.ButtonIcon.java com.gc.materialdesign.views.ButtonRectangle.java com.gc.materialdesign.views.Button.java com.gc.materialdesign.views.Card.java com.gc.materialdesign.views.CheckBox.java com.gc.materialdesign.views.CustomView.java com.gc.materialdesign.views.LayoutRipple.java com.gc.materialdesign.views.ProgressBarCircularIndeterminate.java com.gc.materialdesign.views.ProgressBarDeterminate.java com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate.java com.gc.materialdesign.views.ProgressBarIndeterminate.java com.gc.materialdesign.views.RippleView.java com.gc.materialdesign.views.ScrollView.java com.gc.materialdesign.views.Slider.java com.gc.materialdesign.views.Switch.java com.gc.materialdesign.widgets.ColorSelector.java com.gc.materialdesign.widgets.Dialog.java com.gc.materialdesign.widgets.SnackBar.java git.egatuts.nxtremotecontroller.ApplicationTest.java git.egatuts.nxtremotecontroller.GlobalUtils.java git.egatuts.nxtremotecontroller.activity.ActivityPendingTransition.java git.egatuts.nxtremotecontroller.activity.BaseActivity.java git.egatuts.nxtremotecontroller.activity.ControllerActivity.java git.egatuts.nxtremotecontroller.activity.DefaultActivityPendingTransition.java git.egatuts.nxtremotecontroller.activity.MainActivity.java git.egatuts.nxtremotecontroller.activity.SettingsActivity.java git.egatuts.nxtremotecontroller.bluetooth.BluetoothConstants.java git.egatuts.nxtremotecontroller.bluetooth.BluetoothUtils.java git.egatuts.nxtremotecontroller.bluetooth.NXTConnector.java git.egatuts.nxtremotecontroller.device.PairedDeviceAdapter.java git.egatuts.nxtremotecontroller.device.PairedDeviceItemClickListener.java git.egatuts.nxtremotecontroller.device.PairedDeviceViewHolder.java git.egatuts.nxtremotecontroller.device.PairedDevice.java git.egatuts.nxtremotecontroller.exception.SocketCreationException.java git.egatuts.nxtremotecontroller.fragment.ActivityBaseFragment.java git.egatuts.nxtremotecontroller.fragment.BaseFragment.java git.egatuts.nxtremotecontroller.fragment.BluetoothFragment.java git.egatuts.nxtremotecontroller.fragment.ControllerBaseFragment.java git.egatuts.nxtremotecontroller.fragment.DefaultFragmentPendingTransition.java git.egatuts.nxtremotecontroller.fragment.FragmentPendingTransition.java git.egatuts.nxtremotecontroller.fragment.HomeFragment.java git.egatuts.nxtremotecontroller.fragment.LocalControllerFragment.java git.egatuts.nxtremotecontroller.fragment.OnlineControllerFragment.java git.egatuts.nxtremotecontroller.fragment.ScanFragment.java git.egatuts.nxtremotecontroller.fragment.SettingsFragment.java git.egatuts.nxtremotecontroller.listener.AnimationEndListener.java git.egatuts.nxtremotecontroller.listener.AppKillerListener.java git.egatuts.nxtremotecontroller.listener.BaseListener.java git.egatuts.nxtremotecontroller.listener.BluetoothDiscoveryListener.java git.egatuts.nxtremotecontroller.listener.BluetoothEnableListener.java git.egatuts.nxtremotecontroller.listener.BluetoothPairingListener.java git.egatuts.nxtremotecontroller.navigation.DrawerItemViewHolder.java git.egatuts.nxtremotecontroller.navigation.DrawerItem.java git.egatuts.nxtremotecontroller.navigation.NavigationDrawerAdapter.java git.egatuts.nxtremotecontroller.navigation.NavigationDrawerCallback.java git.egatuts.nxtremotecontroller.navigation.NavigationDrawerFragment.java git.egatuts.nxtremotecontroller.preference.PreferencesUtils.java git.egatuts.nxtremotecontroller.receiver.AppKillerReceiver.java git.egatuts.nxtremotecontroller.receiver.BaseReceiver.java git.egatuts.nxtremotecontroller.receiver.BluetoothDiscoveryReceiver.java git.egatuts.nxtremotecontroller.receiver.BluetoothEnableReceiver.java git.egatuts.nxtremotecontroller.receiver.BluetoothPairingReceiver.java git.egatuts.nxtremotecontroller.thread.BaseThread.java git.egatuts.nxtremotecontroller.thread.ConnectThread.java git.egatuts.nxtremotecontroller.thread.ConnectedThread.java git.egatuts.nxtremotecontroller.views.BaseIndeterminateProgressDialog.java git.egatuts.nxtremotecontroller.views.BaseProgressDialog.java git.egatuts.nxtremotecontroller.views.JoystickView.java git.egatuts.nxtremotecontroller.views.LongIndeterminateProgressDialog.java git.egatuts.nxtremotecontroller.views.ShortIndeterminateProgressDialog.java