EditText属性详解

1,EditText基本属性【常用属性】
EditText继承关系:View-->TextView-->EditText。 

android:layout_gravity="center_vertical"  //在父控件中放置位置
android:gravity="center" //内容在当前控件中的位置
center/bottom/center_horizontal/center_vertical/end/left/right 这些为常用选择,可使用 | 组合使用,作用域越小优先级越高。
android:hint="默认提示信息"  //未编辑状态下的提示消息,如:“请输入密码”
android:text="填充内容" //显示的内容,可根据控件获取到
android:textColor = "#ff8c00" //字体颜色 
android:textStyle="bold" //bold:黑体, italic:斜体,normal:正常
android:password="true" //密码模式输入,黑点的方式显示
android:textSize="20sp"  //文字大小 
android:capitalize = "characters" //以大写字母写 
characters,none,sentences,words,现如今使用InputType替换
android:textColorHighlight="#cccccc" //被选中文字的底色,默认为蓝色 
android:textColorHint="#ffff00" //设置提示信息文字的颜色,默认为灰色 
android:textScaleX="1.5" //控制字与字之间的间距 
android:typeface="monospace" //字型,normal, sans, serif, monospace 【字体】
android:background="@null" //空间背景,这里没有,指透明  color/drawble/Android自带
android:numeric="integer" //设置只能输入整数,decimal :小数,signed:带符号,正负数
android:singleLine="true" //设置单行输入,一旦设置为true,则文字不会自动换行。 
android:layout_weight="1" //权重,控制控件之间的权重,屏幕适配小技巧之一。
android:padding="15dp" //内容距边距多少 padding:四周,
paddingTop,paddingBottom,paddingLeft,paddingRight
android:layout_margin="25dp"
marginTop,marginBottom,marginLeft,marginRight
android:maxLength="20"//最长20个字节
android:maxLines="2"//最多2行
android:maxWidth="50dp"//最宽50dp
创建项目默认匹配最高Android平台版本

2,监听器
public class MainActivity extends AppCompatActivity {
    private EditText bodyEditText1;
    private EditText bodyEditText2;
    private EditText bodyEditText3;
    private EditText bodyEditText4;
    private EditText bodyEditText5;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
        initTextWatcher();
        setOnEdittorListener();
    }

    /**
     * 编辑完成点击确认键执行动作
     */
    private void setOnEdittorListener() {
        bodyEditText1.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                bodyEditText4.setTextColor(Color.CYAN);
                return false;
            }
        });

        bodyEditText2.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                bodyEditText5.setTextColor(Color.CYAN);
                /**
                 * 返回true,debug会执行两次【此时有网络请求一定需要注意】
                 * 在Android硬件上开发时注意:OnEditorActionListener相当于确认提交
                 */
                return true;
            }
        });
    }

    /**
     * 添加内容编辑监听器
     */
    private void initTextWatcher() {
        bodyEditText1.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void afterTextChanged(Editable editable) {
                String str = bodyEditText1.getText().toString().trim();
                Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
                if (str.length() > 10) {
                    bodyEditText4.setText(str);
                }
            }
        });

        bodyEditText2.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void afterTextChanged(Editable editable) {
                String str = bodyEditText2.getText().toString().trim();
                Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
                if (str.length() > 6) {
                    bodyEditText2.setInputType(InputType.TYPE_CLASS_TEXT);
                }
                if (str.length() > 10) {
                    bodyEditText5.setText(str);
                }
            }
        });
        bodyEditText3.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void afterTextChanged(Editable editable) {
                String str = bodyEditText2.getText().toString().trim();
                Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
                if (str.length() > 10) {
                    bodyEditText5.setText(str);
                    bodyEditText5.setVisibility(View.VISIBLE);
                } else {
                    bodyEditText5.setVisibility(View.GONE);
                }
            }
        });
    }

    /**
     * 初始化View
     */
    private void initView() {
        bodyEditText1 = (EditText) findViewById(R.id.body_et1);
        bodyEditText2 = (EditText) findViewById(R.id.body_et2);
        bodyEditText3 = (EditText) findViewById(R.id.body_et3);
        bodyEditText4 = (EditText) findViewById(R.id.body_et4);
        bodyEditText5 = (EditText) findViewById(R.id.body_et5);
    }
}
TextWatcher、EditorActionListener
3,selector
selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/edittext_bg_focus" android:state_focused="true" />
    <item android:drawable="@drawable/edittext_bg_nomal" android:state_focused="false" />
</selector>
edittext_bg_focus:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="3dp" />
    <stroke
        android:width="2dp"
        android:color="@color/blue"
        android:dashGap="10dp"
        android:dashWidth="20dp" />
    <solid android:color="@color/blue_lower" />
</shape>
edittext_bg_nomal:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="3dp" />
    <stroke
        android:width="2dp"
        android:color="@color/gray"
        android:dashGap="10dp"
        android:dashWidth="20dp" />
    <solid android:color="@color/green_lower" />
</shape>
4,ListView属性强化
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@color/white"
        android:dividerHeight="40dp"
        android:footerDividersEnabled="true"
        android:headerDividersEnabled="true" />
</LinearLayout>

这里是源码(⊙o⊙)哦

千万不要成为一个没有原则的滥好人,这样你帮助过的人不会感谢你,你没帮助到的人会怨恨你。
1、升米恩,斗米仇
2、锦上添花咱不干,雪中送炭显真情
3、以德报怨,何以报德?以直报怨,以德报德
4、学会拒绝
5、你不让少数人讨厌你,就无法让更多人喜欢你
修炼情商,缓步款行~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

壹叁零壹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值