TextView & EditText
TextView
1.下划线
textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线
2.单独做第一步,文字会出现锯齿,要加下面抗锯齿
textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG );
或者textView.getPaint().setAntiAlias(true);//抗锯齿
3.中划线
textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG);
4.xml文件中,android:onClick 设置无效
需要设置属性android:clickable="true"
5.This tag and its children can be replaced by one <TextView/> and a compound drawable
当我们用一个LinearLayout来实现一个ImageView和TextView在一起的时候,就会出现上面的提示。
根据提示来修改,可以使用TextView的drawableLeft等属性,代码如下
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_launcher"
android:drawablePadding="4dp"
android:gravity="center"
/>
6.在代码中改drawableLeft
Drawable drawable= getResources().getDrawable(R.drawable.drawable);
/// 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
myTextview.setCompoundDrawables(drawable,null,null,null);
//也或参考另一个函数
public void setCompoundDrawablesWithIntrinsicBounds (Drawable left, Drawable top, Drawable right, Drawable bottom)
//另一个函数
public void setCompoundDrawablesWithIntrinsicBounds(int left, int top, int right, int bottom)
7.行距
android:lineSpacingExtra="3dp"
8.省略号
<!-- start,end,middle,marquee-->
android:ellipsize="end"
android:singleLine="true"
9.HTML
//注:font的size属性不起作用,如果需要改变大小,使用h1等的标签
textView.setText(Html.fromHtml("<h1><font color='#FF783F'>text</font></h1>");
10.获取行数
textview.post(new Runnable() {
@Override
public void run() {
int lineCount = textview.getLineCount();
}
});
11.android:drawablePadding
tv.setCompoundDrawablePadding(padInPx);
12.字体
android:fontFamily="sans-serif-thin"
EditText
1.android:imeOptions
该属性用于修改输入法键盘里的Enter的图标或者文字,比如值为“actionSearch”,图标为搜索的图片或者文字"Search"之类的,类似的还有"Send", "Go"等文字
2.android:inputType
该属性用于帮助输入法决定使用什么键盘,比如如果值是"textCapCharacters"时,会第一个字母大写。类似的还有"textPassword", "textEmail", "textPhonetic"
代码输入可以用editText.setInputType(EditorInfo.inputType);
默认是数字,但是可以输入其他,注意xml中不要设置inputType
et.setRawInputType(InputType.TYPE_CLASS_NUMBER);
3.光标显示最右边
editText.setSelection(text.length());
4.响应键盘事件
edittext.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
return true;
}
return false;
}
});
5.EditText不可编辑(android:editable已经过期)
<EditText ...
android:clickable="false"
android:cursorVisible="false"
android:focusable="false"
android:focusableInTouchMode="false">
</EditText>
代码设置
editText.setKeyListener(null);//设了就不能编辑
6.看官方demo时,发现editText有个很好的方法,setError()。可以弹出错误信息,用法如下
editText.setError(error);
7.自动换行
设置inputType会导致editText不会自动换行
8.获取焦点并弹出键盘
et.requestFocus();
et.setSelection(et.getText().toString().length());
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(et, 0); //若不会自动弹出键盘,看看AndroidManifest.xml是否有设置android:windowSoftInputMode="stateHidden"
9.最大字数
android:maxLength
10.字符串过滤
InputFilter
11.不自动获取焦点(不自动弹出键盘)
方案1
EditText的父Layout中,加入下面的两个属性即可
android:focusable="true"
android:focusableInTouchMode="true"
方案2
android:windowSoftInputMode="stateHidden"
12.插入内容到EditText光标所在位置
EditText mEditText = (EditText)findViewById(R.id.input);//EditText对象
int index = mEditText.getSelectionStart();//获取光标所在位置
String text="I want to input str";
Editable edit = mEditText.getEditableText();//获取EditText的文字
if (index < 0 || index >= edit.length() ){
edit.append(text);
}else{
edit.insert(index,text);//光标所在位置插入文字
}
13.响应imeOptions
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
if(actionId == EditorInfo.IME_ACTION_GO){
//TODO
return true;
}
return false;
}
});
14, InputFilter限制EditText内容长度
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
15:digits:只能输入指定的字符
android:digits="abcdefg"
TextView & EditText的更多相关文章
- android入门系列- TextView EditText Button ImageView 的简单应用
第一篇原创,其实自己就是一菜鸟,简单分享点基本知识吧.希望能有所帮助吧. TextView EditText Button ImageView 这几个控件可能是Android开发中最常用.最基本的几个 ...
- 使用TextView/EditText应该注意的地方,监听EditText,addTextChangedListener
http://blog.csdn.net/huichengongzi/article/details/7818676 监听 EditText 控件: addTextChangedListener(ne ...
- 使用文本框TextView/EditText的开源库清单
在实际的开发中TextView和EditText是非常基本的控件.这两个控件的使用也是十分简单.而TextView/EditText的功能其实也是非常强大,例如简单的图文就可以使用TextView配合 ...
- android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)
第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1) onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...
- Android开发8:UI组件TextView,EditText,Button
版本:Android4.3 API18 学习整理:liuxinming TextView 概述 TextView直接继承了View(EditText.Button两个UI组件类的父类) TextVie ...
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...
- Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用
GitHub地址:https://github.com/1165863642/LoginDemo 直接贴代码<?xml version="1.0" encoding=&quo ...
- Android UI 设计之 TextView EditText 组件属性方法最详细解析
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...
- Android TextView,EditText要求固定行数自动调整TextSize
最近项目有个需求要求文本最多显示3行,继续输入则字体变小,删除已经输入的文字,那么字体变大,不管变大变小都不能超过3行.网上怎么找也找不到相关的解决方案,自己动手,丰衣足食了! 说一下算法思路,后面给 ...
随机推荐
- Qt: 读写二进制文件(写对象, 原始数据等)
#include <iostream>#include <QFile>#include <QImage>#include <QMap>#include ...
- MSSQLServer基础03(数据检索(查询))
执行备注中的代码创建测试数据表. 简单的数据检索 :SELECT * FROM Student 只检索需要的列 :SELECT sName FROM Student .ame FROM Student ...
- 转:数据包经由路由转发时源、目的IP地址及MAC地址变化情况
数据包经由路由转发时源.目的IP地址及MAC地址变化情况. IP数据包经由路由转发的时候源ip,目的ip,源MAC,目的mac是否发生改变,如何改变? A—–(B1-B2)—–(C1-C2)—— ...
- SGU111 Very simple problem
多少个平方数小于等于X,二分. PS:java BigInteger. import java.util.*; import java.math.*; public class Solution { ...
- 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。
先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 复制代码 ...
- P99、面试题13:在o(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在o(1)时间删除该结点.链表结点与函数的定义如下:struct ListNode{ int m_nValue; List ...
- RTL 与 technology schematic的区别,包含概念与实例
2013-06-25 16:40:45 下面是xilinx官网上的问答贴: http://china.xilinx.com/support/answers/41500.htm#solution The ...
- Flash Media Server 5.0 (FMS)注册码
flash media server 4.5 及最新 flash media server 5.0 注册码 防止图片打不开时: Name:tam/CORE Serial:1652-5580-8001- ...
- ubuntu12.04升级后找不到共享目录
备注:采用VMware-workstation 10 更新命令:sudo apt-get update 今天开始搭建Android开发环境,先升级系统,升级后发现windows和ubuntu共享的目录 ...
- bzoj1025: [SCOI2009] 游戏 6
DP. 每种排法的长度对应所有循环节长度的最小公倍数. 所以排法总数为和为n的几个数的最小公倍数的总数. #include<cstdio> #include<algorithm> ...