- 浏览: 278366 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zwnJava:
谢谢,总算找到了句有应的话
Android监听程序的安装和卸载 -
liangoogle:
就是只让edittext输入这些字符。
EditText 只输入英文和特殊字符 -
huibin147852369:
应该讲解一下!
EditText 只输入英文和特殊字符 -
goingshow:
楼主,是否发现 自定义selector 出来的chekbox ...
Android 自定义CheckBox 样式 -
shadow88:
这个方法是不错,但是如果是由多个组件组合,只有这个获得了焦点, ...
TextView 跑马灯效果
android:numeric="integer" 只允许输入整数
android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入
android:digits="1234567890qwertyuiopasdfghjklzxcvbnm_" 如果输入中文是不会显示
android:hint="请输入数字!" 设置显示在空间上的提示信息
android:singleLine="true" 设置单行输入,一旦设置为true,则文字不会自动换行。
android:password="true" 设置只能输入密码
android:textStyle="bold"
android:capitalize = "characters" 以大写字母写
android:textScaleX="1.5" 控制字与字之间的间距
android:typeface="monospace" 字型,normal, sans, serif, monospace
android:background="@null" 空间背景,这里没有,指透明
android:editable="false" 设置EditText不可编辑
android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时
1. 设定 EditText 的滚动条、对齐方式、行数、和提示 (hint) 及其颜色
在布局文件,比如 main.xml 中,增加
< EditText
android:id = "@+id/EditText01"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:hint = "type something here... 请输入 ..." // 输入提示
android:textColorHint = "#FF00FF" // 提示文字的颜色
android:lines = "4" // 行数
android:gravity = "top" // 上对齐
android:scrollbars = "vertical" // 垂直滚动条
/>
在 Activity 对应的 Java 文件中,指定包含上述代码的 Layout( 即 main.xml) :
setContentView(R.layout. main );
得到的结果如下:
2. 设定 EditText 中的文字大小、文字颜色和 EditText 的背景颜色
在布局文件中,增加类似如下代码:
< EditText
android:id = "@+id/EditText02"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:textSize = "50sp"
android:textColor = "#FF0000"
android:background = "#007F00"
/>
得到的结果如下:
3. 输入过滤器的使用 (Input Filter)
输入过滤器,可以用来规范在 EditText 中输入的内容。比如:
EditText txt02 = (EditText)findViewById(R.id. EditText02 );
txt02.setFilters( new InputFilter[]
{
new InputFilter.AllCaps(),
new InputFilter.LengthFilter(2)
});
则 txt02 这个 EditText 最多接收 2 个字符 ( 或者中文字 ) ,并且会自动转换为大写。
程序员可以自己定义 InputFilter ,类似的代码如下 ( 必须重写 InputFilter 接口中定义的 filter 方法 ) :
class CustomizedInputFilter implements InputFilter
{
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend)
{
// Log.e("debug", (String)source);
// return (new String((String)source).toUpperCase());
// 下面是 InputFilter.AllCaps() 的源代码
for ( int i = start; i < end; i++)
{
if (Character.isLowerCase (source.charAt(i)))
{
char [] v = new char [end - start];
TextUtils.getChars (source, start, end, v, 0);
String s = new String(v).toUpperCase();
if (source instanceof Spanned)
{
SpannableString sp = new SpannableString(s);
TextUtils.copySpansFrom ((Spanned) source, start, end, null , sp, 0);
return sp;
}
else
{
return s;
}
}
}
return null ; // keep original
}
}
4. 指定 EditText 为密码输入框和设定 EditText 激活状态
< EditText
android:id = "@+id/EditText03"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:password = "true" // 密码输入框,会屏蔽输入的字符
/>
< EditText
android:id = "@+id/EditText04"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:enabled = "false" // 设定活动状态为 false ,既不能编辑,也不能
/> // focusable
具体效果就不演示了。
5. AutoCompleteTextView 的使用
AutoCompleteTextView 可以被认为是一种特殊的 EditText ,用户在 AutoCompleteTextView 中输入部分字符,就会得到和该输入字符匹配的列表,该列表由开发人员事先提供,用户只需要选择其中之一即可,这样可以节省用户输入的字符数,同时也可以减少出错的机会。比如,在布局文件 main.xml 中,有如下代码:
< AutoCompleteTextView
android:id = "@+id/AutoCompleteTextView01"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:completionHint = "Pick a country or type your own" // 下拉列表的提示
android:dropDownHeight = "120px" // 下拉列表的高度
android:completionThreshold = "1" // 键入多少字符,即可出现下拉列表
/>
在 Activity 对应的 java 文件中:
public class ControlEditText extends Activity
{
// 定义一个字符串数组
final String[] COUNTRIES = { "China" , "Cuba" , "Costa Rica" ,
"Columbia" , "Canada" , "America" ,
"Africa" , "Belgium" , "India" };
@Override
public void onCreate(Bundle savedInstanceState)
{
super .onCreate(savedInstanceState);
setContentView(R.layout. main );
// 构建一个 ArrayAdapter 对象
ArrayAdapter<String> adapter = new ArrayAdapter<String>( this ,
android.R.layout. simple_dropdown_item_1line ,
COUNTRIES );
// 获取 AutoCompleteTextView 对象 text
AutoCompleteTextView text = (AutoCompleteTextView)findViewById(R.id. AutoCompleteTextView01 );
// 给 text 指定 ArrayAdapter 对象
text.setAdapter(adapter);
}
}
其中用到的 ArrayAdapter 构造方法说明如下:
public ArrayAdapter ( Context context, int textViewResourceId, T[] objects)
Parameters
context |
The current context. |
textViewResourceId |
The resource ID for a layout file containing a TextView to use when instantiating views. |
在 android.R.layout 包下,定义了许多诸如 simple_dropdown_item_1line 这样的 TextView 资源ID |
|
objects |
The objects to represent in the ListView. |
运行代码,得到的结果如下:
输入一个字符 c ,则 adapter 中所有以 c( 缺省地,不区分大小写 ) 大头的国家,会全部显示在下拉列表中,用户仅需要做一个简单的选择就可以了。如果 android:completionThreshold 的属性为 "2" ,那么用户需要输入两个字符,下拉列表才会出现。
选择输入完成后,用户可以继续在上面的 EditText 中继续输入。
6. MultiAutoCompleteTextView 的使用
MultiAutoCompleteTextView 也可以被认为是一种特殊的 EditText ,它的作用基本上和 AutoCompleteTextView 一样:用户在MultiAutoCompleteTextView 中输入部分字符,就会得到和该输入字符匹配的列表,该列表由开发人员事先提供,用户只需要选择其中之一即可,这样可以节省用户输入的字符数,同时也可以减少出错的机会。
它和 AutoCompleteTextView 唯一不同的地方就是: AutoCompleteTextView 只有第一个输入的单词可以 auto complete ,而MultiAutoCompleteTextView ,则可以多次进行 auto complete 。在使用 MultiAutoCompleteTextView 的时候,要提供tokenizer , tokenizer 用于分隔单词。比如,在布局文件 main.xml 中,有如下代码:
< MultiAutoCompleteTextView
android:id = "@+id/MultiAutoCompleteTextView01"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:completionHint = "Pick a country or type your own"
android:dropDownHeight = "120px"
android:completionThreshold = "1"
/>
在 Activity 对应的 java 文件中:
public class ControlEditText extends Activity
{
final String[] COUNTRIES = { "China" , "Cuba" , "Costa Rica" ,
"Columbia" , "Chizen" , "Canada" , "America" ,
"Africa" , "Belgium" , "India" };
@Override
public void onCreate(Bundle savedInstanceState)
{
super .onCreate(savedInstanceState);
setContentView(R.layout. main );
ArrayAdapter<String> adapter = new ArrayAdapter<String>( this ,
android.R.layout. simple_dropdown_item_1line ,
COUNTRIES );
AutoCompleteTextView text = (AutoCompleteTextView)findViewById(R.id. AutoCompleteTextView01 );
text.setAdapter(adapter);
// 获取 MultiAutoCompleteTextView 对象 text
MultiAutoCompleteTextView mtext =
(MultiAutoCompleteTextView)findViewById(R.id. MultiAutoCompleteTextView01 );
// 依然使用前面构造好的 ArrayAdapter 对象
mtext.setAdapter(adapter);
// 指定分隔符 ”,”
mtext.setTokenizer( new MultiAutoCompleteTextView.CommaTokenizer());
}
}
结果如下:
我们可以看到,输入 c ,然后可以在下拉列表中选择 China ,会自动增加一个分隔符。此时,输入 a ,则会把和 a 匹配的America 以及 Africa 显示在下拉列表中。
如果我们把 COUNTRIES 数组中的内容改为中文:
final String[] COUNTRIES = { " 印度 " , " 印度尼西亚 " , " 新加坡 " ,
" 新赤道几内亚 " , " 巴基斯坦 " , " 南非 " , " 南斯拉夫 " ,
" 北非 " , " 北爱尔兰 " , " 巴勒斯坦 " };
可以看到, AutoCompleteTextView 和 MultiAutoCompleteTextView 都支持中文:
发表评论
-
android attr.xml 怎么在主工程中设置library项目中背景或者其他一些属性。
2013-04-16 19:38 2168怎么在主工程中设置library项目中背景或者其他一些属性 ... -
android 中theme.xml与style.xml的区别
2013-04-16 19:03 4445android 中theme.xml与style.xml的 ... -
android 键盘 搜索键
2013-04-15 16:52 2237想让软键盘上的enter键显示搜索图标: ... -
在一个按钮正下方显示一个popwindow
2012-11-06 23:48 5263//这是show一个PopupWindow P ... -
app widget 进入主客户端代码。
2012-04-25 16:56 1493做widget : 想点击widget一个按钮时就进入客户端 ... -
自实现listview 添加滑动监听
2012-04-10 17:58 0public interface OnScroll ... -
acitvitygroup edittext 软盘弹出时 底部菜单挤压到上面的问题
2012-03-31 17:28 1557userName = (EditText) layout. ... -
widget
2012-03-13 14:26 7301:在清单注册: <receiver ... -
wifi 通知栏上 选择程序时出现你的应用
2012-02-08 10:06 1249<activity android:co ... -
让软盘消失和出现
2012-02-07 18:28 1284在程序中加入以下代码时,软键盘会出现: Inpu ... -
按两次back键返回
2012-02-07 16:45 1066Java代码 private long ... -
创建桌面快捷方式
2012-02-07 14:49 1170本文时在activity中创建桌面快捷方式: p ... -
根据图片名字 读取图片
2012-01-17 17:57 989根据图片名字 读取图片 int id_up = co ... -
关于tableactivity 中activitygroup 使用spinner 控件报错
2012-01-14 11:05 1329这个就和显示dialog一样的道理,都要使用父类显示: 解决 ... -
获取控件坐标
2011-10-10 18:00 970int[] location = new locati ... -
密码长度 太短了提示
2011-07-14 14:38 1257第一种方法: final EditText ... -
EditText 只输入英文和特殊字符
2011-07-14 11:15 2110android:digits="1234567890 ... -
XML 转义字符
2011-07-14 11:14 1172XML 转义字符 随笔记录 XML X ... -
制作一个透明的LinearLayout
2011-07-08 16:56 7019在ListView的最下方加上一个透明的背景按钮或者布局: ... -
自定义radiobutton的样式
2011-07-08 13:21 1411在res/drawable新建radiobutton.xml如 ...
相关推荐
这个压缩包文件"安卓EditText输入框相关-自定义固定头文字的多行文本编辑框.rar"显然是为了实现一个具有固定头部文字的多行文本编辑框。 在Android中,自定义组件通常涉及到继承现有组件并重写或扩展其功能。对于...
这个压缩包文件“实现EditText输入文字之后格式正确性认证功能.rar”似乎包含了一些示例代码,旨在帮助开发者学习如何实现这种验证机制。 首先,我们需要理解EditText的基本用法。EditText通常通过XML布局文件进行...
6. **UI反馈(UI Feedback)**:当验证成功或失败时,可以通过改变EditText的背景色、文字颜色等方式给出视觉反馈,让用户知道当前输入的状态。 7. **AsyncTask或LiveData**:对于网络验证或更复杂的计算,如手机...
- 创建EditText:在XML布局文件中,我们可以通过`<EditText>`标签来创建一个编辑框,可以设置其属性如id、hint(提示文字)、inputType(输入类型)等。 - 获取EditText:在Java代码中,使用`findViewById()`方法...
首先,`EditText`的基本用法包括设置提示文字(`hint`)、输入类型(`inputType`,如电话号码、邮箱格式等)以及限制输入长度。例如,你可以通过以下方式设置提示和输入类型: ```xml <EditText android:id="@+id/...
在Android开发中,`EditText`是用户输入文本的控件,它是`TextView`的一个子类,用于接收用户的文字输入并显示。本篇文章将详细讲解如何使用`EditText`,特别是涉及在给定的案例中,当用户在两个`EditText`中输入...
在Android应用设计中,无论是登录、注册、评论还是设置等场景,都需要用到EditText来获取用户的文字信息。这个“EditText案例源码.zip”提供的代码示例,旨在帮助开发者更深入地理解EditText的功能和用法。 【源码...
开发者通常会通过XML布局文件来定义EditText,并设置其属性,如输入类型(文本、数字、电话号码等)、提示文字、最大输入长度等。然而,系统默认的EditText样式往往过于简单,无法满足所有应用的设计需求,因此...
通过这个练习,开发者不仅可以熟悉TextView和EditText的基本用法,还能掌握Android应用中的基本验证逻辑,这是构建更复杂交互应用的基础。同时,了解和实践这些知识对于提升Android开发技能至关重要。
在传统的EditText中,用户输入信息时通常只能看到静态的文字框,而【不一样的EditText】,即BouncyEditText,引入了动态效果,使得交互过程更具吸引力。 首先,BouncyEditText这个名字中的“Bouncy”暗示了它可能...
在实际应用中,我们还需要考虑输入验证、错误处理和用户体验优化等问题,确保程序的稳定性和易用性。例如,我们可以添加输入格式检查,确保用户输入的是数字,而不是其他字符。同时,为了防止用户在输入过程中频繁...
开发者可能已经调整了`EditText`的样式,包括文字颜色、背景色、边框样式、字体大小等,这可以通过设置自定义主题或者直接在XML布局文件中使用`style`属性实现。 2. **输入验证**: 在改进版中,可能会添加了输入...
在Android开发中,`EditText` 是一个非常常见的组件,它用于接收用户输入的文字信息。`EditText` 动画主要是指通过编程方式改变 `EditText` 的外观、大小、位置或者行为,以实现各种视觉效果,增强用户体验。在...
本篇将深入探讨`EditText`的一些常见效果实现,包括输入表情和验证输入。 1. **输入表情** 在社交应用中,允许用户输入表情是非常常见的需求。这通常通过集成第三方库,如EmojiCompat或者Smileys完成。EmojiCompat...
通过继承`EditText`并重写相关方法,可以实现自定义功能,如输入验证、特定样式等。 ### 6. 实例应用 例如,创建一个只能输入数字且长度不超过5位的`EditText`: ```xml <EditText android:id="@+id/edit_number...
在Android开发中,`EditText`是用户界面(UI)组件之一,它允许用户输入文本。...本篇将深入解析`EditText...在实际项目中,可能还需要结合其他组件和库来增强`EditText`的功能,比如添加输入验证库或者自定义输入键盘等。
- 使用`android:textColorHint`改变提示文字颜色,`android:background`改变边框样式等。 ```xml android:textColorHint="#999999" android:background="@drawable/edit_text_bg" <!-- 自定义背景 --> ``` 7. ...
5. **文本验证**:在表单提交前,可以对EditText的内容进行验证,例如检查是否为空、长度是否符合要求等,以确保用户输入的有效性。 6. **焦点与光标**:`android:focusable`和`android:focusableInTouchMode`控制...
这意味着当用户在某个EditText输入文字后,如果ListView滚动,该EditText可能被复用给其他位置的列表项,导致先前的输入值丢失。为了解决这个问题,开发者需要实现一个定制的Adapter,并进行一些特殊处理。 1. **...