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的更多相关文章

  1. android入门系列- TextView EditText Button ImageView 的简单应用

    第一篇原创,其实自己就是一菜鸟,简单分享点基本知识吧.希望能有所帮助吧. TextView EditText Button ImageView 这几个控件可能是Android开发中最常用.最基本的几个 ...

  2. 使用TextView/EditText应该注意的地方,监听EditText,addTextChangedListener

    http://blog.csdn.net/huichengongzi/article/details/7818676 监听 EditText 控件: addTextChangedListener(ne ...

  3. 使用文本框TextView/EditText的开源库清单

    在实际的开发中TextView和EditText是非常基本的控件.这两个控件的使用也是十分简单.而TextView/EditText的功能其实也是非常强大,例如简单的图文就可以使用TextView配合 ...

  4. android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)

    第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1)  onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...

  5. Android开发8:UI组件TextView,EditText,Button

    版本:Android4.3 API18 学习整理:liuxinming TextView 概述 TextView直接继承了View(EditText.Button两个UI组件类的父类) TextVie ...

  6. 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...

  7. Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用

    GitHub地址:https://github.com/1165863642/LoginDemo 直接贴代码<?xml version="1.0" encoding=&quo ...

  8. Android UI 设计之 TextView EditText 组件属性方法最详细解析

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...

  9. Android TextView,EditText要求固定行数自动调整TextSize

    最近项目有个需求要求文本最多显示3行,继续输入则字体变小,删除已经输入的文字,那么字体变大,不管变大变小都不能超过3行.网上怎么找也找不到相关的解决方案,自己动手,丰衣足食了! 说一下算法思路,后面给 ...

随机推荐

  1. php关于private、public成员变量访问问题

    如果类里面定义了__get($name)方法,则不论类的private成员还是public成员,都能够在类的外面通过类似$class->name访问到.如果是public变量,则不会自动调用ge ...

  2. WampServer安装图解教程

    WampServer中文安装教程_百度经验 http://jingyan.baidu.com/article/0bc808fc9d66f41bd485b925.html WampServer是国外知名 ...

  3. 发现可高速缓存的 SSL 页面

    发现可高速缓存的 SSL 页面 技术描述: 缺省情况下,大部分 Web 浏览器都配置成会在使用期间高速缓存用户的页面. 这表示也会高速缓存 SSL 页面.不建议让 Web 浏览器保存任何 SSL 信息 ...

  4. P94、面试题12:打印1到最大的n位数

    题目:输入数字n,按顺序打印出从1最大的n位十进制数.比如输入3,则打印出1,2,3一直到最大的3位数999. 思路:先把字符串中的每一个数字都初始化为‘0’,然后每一次为字符串表示的数字加1,再打印 ...

  5. C语言字节对齐

    转自:http://blog.csdn.net/21aspnet/article/details/6729724 文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透. 一 ...

  6. Java 简单的加密解密算法

    package cn.std.util; import java.nio.charset.Charset; public class DeEnCode { private static final S ...

  7. [ffmpeg 扩展第三方库编译系列] frei0r mingw32 下编译问题

    在编译安装frei0r的时候遇到两个错误地方, 两个都是在install的时候. 一开始编译都很顺利,输入了 make install之后就走开了,回来一看,报错误. 提示mkdir -p //usr ...

  8. 转: Linux 技巧:让进程在后台可靠运行的几种方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  9. 解决Eclipse导出javadoc乱码问题

    在Eclipse里 export 选 JavaDoc,在向导的最后一页的Extra JavaDoc Options 里填上参数即可 比如项目采用的是UTF-8的编码就填:-encoding UTF-8 ...

  10. 大四实习准备4_java内部类

    2015-4-30 [昨天又可耻地休息了一天,懒劲比较大啊.跟懒劲有直接关系,这几天对幸福的感知也黯淡了,对未来的幸福不是那么渴望了.表现在对亲情和爱情上. 我想生活的本意是积极进取.茁壮生长并时常感 ...