您当前的位置: 首页 >  android

Kevin-Dev

暂无认证

  • 2浏览

    0关注

    544博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android -- Material Design】TextInputLayout 和 TextInputEditText 的基本使用

Kevin-Dev 发布时间:2017-07-19 16:38:38 ,浏览量:2

前言

官网:TextInputLayout 01.png

引入 material 包:

implementation 'com.google.android.material:material:1.2.1'
属性 属性含义counterEnabled字符计数是否可用counterMaxLength计数最大的长度counterOverflowTextAppearance计数超过最大长度时显示的文本样式counterTextAppearance显示的计数的文本样式errorEnabled显示错误信息是否可用errorTextAppearance显示错误信息的文本样式hint浮动标签hintEnabled控制是否显示浮动标签hintTextAppearance浮动标签的文本样式passwordToggleDrawable密码可见切换图标passwordToggleEnabled控制是否显示密码可见切换图标 使用
  1. 带浮动标签的文本框 002.gif

布局文件




    

        

    

    

        

    

    



2. 带字符计数的文本框 002.jpg

布局




    

        

    

    

        

    

    



在 Activity 中设置,计数的长度:

public class MainActivity extends BaseActivity {

    @BindView(R.id.text_input_layout_user)
    TextInputLayout mTextInputLayout;



    @Override
    public int getLayoutId() {
        return R.layout.activity_main;
    }

    @Override
    public void initView() {
        // 设置可以计数
        mTextInputLayout.setCounterEnabled(true);
        // 计数的最大值
        mTextInputLayout.setCounterMaxLength(10);
    }

}

3. 显示密码可见和隐藏的切换按钮 03.jpg

布局





    

        
    

    

        
    

    


在 Activity 中设置:

public class MainActivity extends BaseActivity {
    @BindView(R.id.til_name)
    TextInputLayout mLayoutName;

    @BindView(R.id.et_name)
    TextInputEditText mName;

    @BindView(R.id.btn_login)
    MaterialButton mLogin;

    @Override
    public int getLayoutId() {
        return R.layout.activity_main;
    }

    @Override
    public void initView() {
        mName.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                mLayoutName.setErrorEnabled(false);
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });


        mLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = mName.getText().toString().trim();
                if (name.length() > mLayoutName.getCounterMaxLength()) {
                    mLayoutName.setError("输入内容超过上限");
                }
            }
        });

    }

}

style 风格

    
        @color/light_grey_color
    

    
        @color/light_grey_color
        @color/black
        18sp
    

    
        @color/red_deep
    

    
    
        @color/orange
    
关注
打赏
1658837700
查看更多评论
立即登录/注册

微信扫码登录

0.0835s