• Material Design兼容包的使用


    为了方便自己以后的查找,于是就写了这个博客,废话就不多说,开始干:

    导入: compile ‘com.android.support:appcompat-v7:24.2.1’ compile ‘com.android.support:design:24.2.1’ (最后的版本号最好和上面的V7包的版本号改成一样的,以免报一些不必要的错误)

    Design Support Library中有包含8个控件: itdadao

    1.TextInputLayout

    正如上面所描述的,他是一个强大的带提示的MD风格的EditText itdadao

    布局:

    android.support.design.widget.TextInputLayout         android:layout_width=”match_parent” android:layout_height=”wrap_content” app:counterMaxLength=”10” app:counterEnabled=”true” app:errorEnabled=”false” app:hintAnimationEnabled=”true” android:id=”@+id/til_acc”>

        EditText
            android:layout_width="match_parent"
            android:layout_height="100px"
            android:hint="请输入账号"
            android:id="@+id/et_acc"/>
    /android.support.design.widget.TextInputLayout>
    

    TextInputLayout的带的属性: 1. counterMaxLength  计数器  显示在右下角 2. counterEnabled  是否显示计数器 (true  、false两个值) 3. counterOverflowTextAppearance 当输入的长度大于计算器的大小,则显示最大限度的字体格式 4. hintAnimationEnabled 是否启用hint(提示字体)动画效果 5. errorEnabled 是否显示错误信息 6. errorTextAppearance 错误信息的字体的格式

    MainActivity中的代码:

    public class MainActivity extends AppCompatActivity {

    @InjectView(R.id.btn)
    Button btn;www.90168.org
    @InjectView(R.id.activity_main)
    LinearLayout activityMain;
    @InjectView(R.id.et_acc)
    EditText etAcc;
    @InjectView(R.id.et_pws)
    EditText etPws;
    @InjectView(R.id.til_acc)
    TextInputLayout tilAcc;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.inject(this);
        init();
    }
    
    private void init() {
        //EditView 监听
        etAcc.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) {
                        //判断输入中的字符串是否大于 我们计数器设置的大小
                    if (charSequence.length() > 5){// 大于
                        //setErrorEnabled 设置true   并且设置显示错误的信息
                        tilAcc.setErrorEnabled(true);
                        tilAcc.setError("sssssss");
                    }else{
                        //小于  则把setErrorEnabled设置成false
                        tilAcc.setErrorEnabled(false);
                    }
            }
            //输入后的监听
            @Override
            public void afterTextChanged(Editable editable) {
    
            }
        });
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View view) {
                final String acc = etAcc.getText().toString();
                final String pws = etPws.getText().toString();
                if (!TextUtils.isEmpty(acc) && !TextUtils.isEmpty(pws)) {
                    Snackbar.make(view, "登录成功", Snackbar.LENGTH_SHORT).show();
                }
            }
        });
    }
    

    }

  • 相关阅读:
    MySQL 修改数据
    Scala 简介
    tensorflow mnist read_data_sets fails
    Mac安装Homebrew
    MySQL 创建数据表
    MySQL 数据类型
    wc--Linux
    xxx is not in the sudoers file.This incident will be reported.的解决方法
    linux centos下安装dokuwiki
    CentOS修改系统时间
  • 原文地址:https://www.cnblogs.com/tianshifu/p/6215190.html
Copyright © 2020-2023  润新知