/* * Copyright (c) 2012 Socialize Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.socialize.ui.view; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.GradientDrawable; import android.graphics.drawable.GradientDrawable.Orientation; import android.text.InputFilter; import android.util.TypedValue; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import com.socialize.ui.util.Colors; import com.socialize.ui.util.CompatUtils; import com.socialize.util.DisplayUtils; /** * @author Jason Polites * */ public class SocializeEditText extends LinearLayout { private DisplayUtils displayUtils; private Colors colors; private String label; private String text; private TextView objLabel; private EditText objEdit; private InputFilter[] filters; public SocializeEditText(Context context) { super(context); } public void init() { final int padding = displayUtils.getDIP(8); final int editTextStroke = displayUtils.getDIP(2); final float editTextRadius = editTextStroke; setOrientation(VERTICAL); GradientDrawable textBG = new GradientDrawable(Orientation.BOTTOM_TOP, new int [] {colors.getColor(Colors.TEXT_BG), colors.getColor(Colors.TEXT_BG)}); textBG.setStroke(editTextStroke, colors.getColor(Colors.TEXT_STROKE)); textBG.setCornerRadius(editTextRadius); objEdit = new EditText(getContext()); objEdit.setMinLines(1); objEdit.setMaxLines(1); objEdit.setSingleLine(true); objEdit.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); objEdit.setTextColor(Color.BLACK); if(text != null) { objEdit.setText(text); } if(filters != null) { objEdit.setFilters(filters); } objLabel = new TextView(getContext()); objLabel.setMinLines(1); objLabel.setMaxLines(1); objLabel.setSingleLine(true); objLabel.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12); objLabel.setTextColor(Color.WHITE); if(label != null) { objLabel.setText(label); } CompatUtils.setBackgroundDrawable(objEdit, textBG); objEdit.setPadding(padding, padding, padding, padding); addView(objLabel); addView(objEdit); } public void setDisplayUtils(DisplayUtils deviceUtils) { this.displayUtils = deviceUtils; } public void setColors(Colors colors) { this.colors = colors; } public void setLabel(String label) { this.label = label; if(objLabel != null) { objLabel.setText(label); } } public void setText(String text) { this.text = text; if(objEdit != null) { objEdit.setText(text); } } public String getText() { if(objEdit != null) { return objEdit.getText().toString(); } return text; } public void setFilters(InputFilter[] filters) { this.filters = filters; if(objEdit != null) { objEdit.setFilters(filters); } } }