频道栏目
首页 > 资讯 > Android > 正文

Android更改EditText下划线的颜色样式和动态获取输入的字数的代码教程

18-07-31        来源:[db:作者]  
收藏   我要投稿

在styles.xml文件中声明自定义样式

<style name="MyEditText" parent="Theme.AppCompat.Light"> 
    <item name="colorControlNormal">@color/indigo</item> 
    <item name="colorControlActivated">@color/pink</item>
</style>

通过android:theme属性将此样式应用于您的EditText

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Hint text" 
    android:theme="@style/MyEditText"/>

et_comment.addTextChangedListener(mTextWatcher);
  et_comment.setFocusable(true);
  et_comment.requestFocus();

TextWatcher mTextWatcher = new TextWatcher() {
  private CharSequence temp;
  private int editStart;
  private int editEnd;

  @Override
  public void beforeTextChanged(CharSequence s, int arg1, int arg2,
  int arg3) {
temp = s;
  }

  @Override
  public void onTextChanged(CharSequence s, int arg1, int arg2,
 int arg3) {
if (s.length() <= 200) {
 word_remain.setText((200 - s.length()) + "/200");
}
  }

  @Override
  public void afterTextChanged(Editable s) {
editStart = et_comment.getSelectionStart();
editEnd = et_comment.getSelectionEnd();
if (temp.length() > 200) {
 ToastUtil.showToastShort("你输入的字数已经超过了限制!");

 s.delete(editStart - 1, editEnd);
 int tempSelection = editStart;
 et_comment.setText(s);
 et_comment.setSelection(tempSelection);
}
  }
 };
相关TAG标签
上一篇:Linux命令学习和使用之权限chmod、chown
下一篇:SQL语句下groupby,having的用法解析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站