自定义控件(一)自定义EditText
来源:互联网 发布:流行病最新数据 编辑:程序博客网 时间:2024/05/22 12:03
带下边框的EditText
本节要实现:自定义一个带下边框的EditText。
1.xml代码中:
只需要将标签元素设置成:自定义的 包名+类名 格式。
(不满意默认风格,只需加上:
android:background=”@null”
便注销掉所有默认风格)
<com.wangjiang.ui.SingleLineEditText android:layout_width="wrap_content" android:layout_height="40dp" android:background="@null" android:hint="请输入文字" />
2.Java代码示例:
package com.wangjiang.ui;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.widget.EditText;/** * 此类用于自定义控件:SingleLineEditText,带下边框的EditText * @author Administrator * */public class SingleLineEditText extends EditText { private Paint mPaint; //设置画笔 /** * * @param attrs */ public SingleLineEditText(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub mPaint = new Paint(); mPaint.setStyle(Paint.Style.STROKE); //设置空心风格 mPaint.setColor(Color.rgb(208, 208, 208));//设置颜色 } @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); mPaint.setStrokeWidth((float) 1.6); //设置空心线宽为2 canvas.drawLine(0,this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, mPaint); //绘制下边框线 } }
—————————————————————————————————————————————————————————————
取消EditText的默认聚焦
取消EditText的默认聚焦:
在其父控件属性上加入:
android:focusable="true"android:focusableInTouchMode="true"
或者直接在代码里:
mEditText.clearFocus();
———————————————————————————————————————————————————————-
为EditText设置监听
设置聚焦监听:
mEditText.setOnFocusChangeListener(View.OnFocusChangeListener l)
设置文字改变监听:
mEditText.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
———————————————————————————————————————————————————-
设置光标位置为最后
mEditText.setSelection(mEditText.getText().toString().length())
———————————————————————————————————————————————————-
设置光标为黑色
给EditText添加属性:
android:textCursorDrawable=”@null”
- 自定义控件(一)自定义EditText
- 自定义控件(一) EditText自定义
- 自定义EditText控件
- 自定义控件RadioButton EditText
- 自定义控件之EditText
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义控件(一)
- 自定义edittext控件的学习
- poj2387
- wpf4 文字 模糊 不清晰 解决方法
- 暑假集训第三周 STL J - Catch That Cow 抓捕奶牛
- Delphi学习第四天
- arrays.xml文件
- 自定义控件(一)自定义EditText
- 【sql server】事务
- A. Currency System in Geraldion
- The Seven Percent Solution
- 求解字符串周期
- Spring3.0学习札记一Spring IOC控制反转(2)
- 二叉树的链式存储
- github使用说明二
- 有关(int&)和(int)的区别