CustomEditText
来源:互联网 发布:性价比高的原画网络班 编辑:程序博客网 时间:2024/05/18 21:39
一个自定义的EditText
代码如下:
import android.annotation.SuppressLint;import android.content.Context;import android.graphics.drawable.Drawable;import android.text.Editable;import android.text.TextWatcher;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.EditText;import android.widget.ImageView;import android.widget.LinearLayout;public class CustomEditText extends LinearLayout { private EditText et_custom; private ImageView iv_fork; private boolean isGone = false; public CustomEditText(Context context, AttributeSet attrs) { super(context, attrs); View view = LayoutInflater.from(context).inflate( R.layout.custom_edittext, null); et_custom = (EditText) view.findViewById(R.id.et_custom); LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); view.setLayoutParams(params); addView(view); iv_fork = (ImageView) view.findViewById(R.id.iv_fork); iv_fork.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { et_custom.setText(""); v.setVisibility(View.GONE); } }); et_custom.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { String string = s.toString(); if (!string.equals("") && !isGone) { iv_fork.setVisibility(View.VISIBLE); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }); } /** * 设置提示 * @param str */ public void setHint(CharSequence str) { et_custom.setHint(str); } /** * 设置背景 * @param drawable */ @SuppressLint("NewApi") public void setBackgroundStyle(Drawable drawable) { et_custom.setBackground(drawable); // if (style) { // et_custom.setBackgroundResource(R.drawable.edittext_focus_selector); // } else { // et_custom // .setBackgroundResource(R.drawable.login_edittext_focus_selector); // } } /** * 设置背景 * @param rid */ public void setBackground(int rid) { et_custom.setBackgroundResource(rid); } /** * 设置输入类型 * * @param type */ public void setInputType(int type) { // InputType.TYPE_TEXT_VARIATION_PASSWORD et_custom.setInputType(type); } public Editable getText() { return et_custom.getText(); } public String getString() { return et_custom.getText().toString(); } /** * 设置内容 * * @param text */ public void setText(CharSequence text) { et_custom.setText(text); } /** * 设置最小行数 * * @param minlines */ public void setMinLine(int minlines) { et_custom.setSingleLine(false); et_custom.setMinLines(minlines); } /** * 设置最大行数 * * @param maxlines */ public void setMaxLine(int maxlines) { et_custom.setSingleLine(false); et_custom.setMaxLines(maxlines); } /** * 设置是否隐藏清空按钮 */ public void setForkGone() { iv_fork.setVisibility(View.GONE); isGone = true; } /** * 设置是否可用 * * @param b */ public void setEabled(boolean b) { et_custom.setEnabled(b); setForkGone(); }}
用法:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CustomEditText ce_1=(CustomEditText) findViewById(R.id.ce_1); CustomEditText ce_2=(CustomEditText) findViewById(R.id.ce_2); ce_1.setBackground(R.drawable.edittext_focus_selector); ce_2.setBackground(R.drawable.login_edittext_focus_selector); ce_2.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); }
效果
示例代码:http://download.csdn.net/detail/u014580558/8529477
0 0
- CustomEditText
- Android UI编程之自定义控件初步(下)——CustomEditText
- What Is Key-Value Coding?
- ant打包所遇到问题(外导library项目包)
- JS下拉菜单
- css note
- CentOS 6 网络设置修改 指定IP地址 DNS 网关(实测 笔记)
- CustomEditText
- C#模拟http 发送post或get请求
- form标签 小例子
- window 下 mongodb 配置文件快速启动
- nginx负载均衡
- HFS + WingDNS架文件共享服务
- 黑马程序员-基本运算
- 计算机视觉、模式识别、机器学习常用牛人主页链接
- C语言初学 输入公里变换成英里