个人登录
数狐在线-做最好的在线学习社区java c# liferay jsp
如何用TextInputLayout实现自定义EditText的特效
    2017-8-6    作者:  androidFan      进入评论页
首先生成EditText


声明必要的变量:
private Vibrator vib;   //可以让手机实现震动的变量
Animation animation; //实现动画效果,给editText进行效果
private EditText signInputName; //EditText
private TextInputLayout mLayout;//TextInputLayout
声明必要的获取语句:
mLayout=(TextInputLayout)findViewById(R.id.signup);
signInputName=(EditText)findViewById(R.id.editText);
animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.shake);
这里的R.anim.shake 表示res/anim/shake.xml


    android:interpolator="@android:anim/overshoot_interpolator"      - 指定了特定的内置的动画效果

vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); //想实现震动需要调用震动服务
signInputName.setAnimation(animation);  //设置动画
signInputName.startAnimation(animation);//实现动画
vib.vibrate(120);//发生震动

关于TextInputLayout:
mLayout.setErrorEnabled(false);
if(signInputName.getText().toString().trim().isEmpty()){
mLayout.setErrorEnabled(true);
mLayout.setError("please enter a name");//页面上出现的错误提示
signInputName.setError("Valid input required");//文本框上出现的错误提示
}
在权限上,我们需要在AndroidManifest.xml里设置震动权限:
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

我们需要在build.gradle(Module:app)里独立依赖dependencies部分添加
compile 'com.android.support:design:26.+'

但是最后执行的时候发生了一些错误无法修改错误提示的字体颜色,比如显示的都是红色的字体,如何对字体颜色进行
修改,是需要进一步研究下。








官方微信服务号
进入评论页
合作企业