Android 开发学习2
来源:互联网 发布:淘宝男士鞋 编辑:程序博客网 时间:2024/05/22 00:08
EditText(输入框)
- 设置默认提示文本
android:hint = //默认提示文本
android:textColorHint = //默认提示文本的颜色 - 获得焦点后全选组件内所有文本内容
android:selectAllOnFocus = “true” - 限制EditText输入类型
android:inputType=”phone”
android:inputType=”number”
android:inputType=”numberSigned”
android:inputType=”numberDecimal”
android:inputType=”phone”//拨号键盘
android:inputType=”datetime”
android:inputType=”date”//日期键盘
android:inputType=”time”//时间键盘 - 设置最小行,最多行,单行,多行,自动换行
设置最小行的行数:android:minLines=”3”
置EditText最大的行数:android:maxLines=”3”
android:singleLine=”true” 即可实现单行输入不换行
android:textScaleX=”1.5” //设置字与字的水平间隔
android:textScaleY=”1.5” //设置字与字的垂直间隔
android:capitalize =
- sentences:仅第一个字母大写
- words:每一个单词首字母大小,用空格区分单词
haracters:每一个英文字母都大写
- 控制EditText四周的间隔距离与内部文字与边框间的距离
使用margin相关属性增加组件相对其他控件的距离,比如android:marginTop = “5dp” 使用padding增加组件内文字和组件边框的距离,比如android:paddingTop = “5dp” 设置EditText获得焦点,同时弹出小键盘
首先是让EditText获得焦点与清除焦点的
edit.requestFocus(); //请求获取焦点
edit.clearFocus(); //清除焦点
获得焦点后,弹出小键盘,笔者大部分时间就花在这个上:
低版本的系统直接requestFocus就会自动弹出小键盘了带删除按钮的EditText
- 控制EditText四周的间隔距离与内部文字与边框间的距离
public class EditTextWithDel extends EditText { private final static String TAG = "EditTextWithDel"; private Drawable imgInable; private Drawable imgAble; private Context mContext; public EditTextWithDel(Context context) { super(context); mContext = context; init(); } public EditTextWithDel(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; init(); } public EditTextWithDel(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mContext = context; init(); } private void init() { imgInable = mContext.getResources().getDrawable(R.drawable.delete_gray); addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { setDrawable(); } }); setDrawable(); } // 设置删除图片 private void setDrawable() { if (length() < 1) setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); else setCompoundDrawablesWithIntrinsicBounds(null, null, imgInable, null); } // 处理删除事件 @Override public boolean onTouchEvent(MotionEvent event) { if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Log.e(TAG, "eventX = " + eventX + "; eventY = " + eventY); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 100; if (rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); } @Override protected void finalize() throws Throwable { super.finalize(); }}
0 0
- android开发学习-2
- Android 开发学习2
- Android开发学习记录2
- Android开发学习2-Handler
- android学习历程2--搭建开发环境
- 学习笔记(2)-- android开发:helloword
- Android 学习笔记2:搭建开发环境
- android应用开发学习纪实(2)
- android NFC开发学习笔记(2)
- 传智播客-Android开发学习随笔-2
- [Android开发从零开始].16.Service学习(2)
- Android开发学习笔记(2)
- Android 开发学习资源
- 学习Android开发
- Android开发学习
- Android NDK开发学习
- Android开发学习笔记
- Android开发学习笔记
- 容联云通讯IM
- 持久化对象的要求
- Stars--树状数组
- [Songqw.Net 基础]WPF插件化中同步Style
- Linux中Oracle创建实例
- Android 开发学习2
- mac中安装的虚拟机系统无法使用触控板或鼠标
- leetcode 16. 3Sum Closest
- oracle 11g 单实例安装(suse)
- ORA-02046: 分布式事务处理已经开始解决方案
- iOS-自定义导航栏后侧滑返回功能失效
- 打不开C盘hosts文件解决方案
- spring事务系列(2)--声明式事务管理(传统)
- 在写一个iOS应用之前必须做的7件事(附相关资源)