設置EditText的提示文字大小,監聽輸入框內容變化

我們經常會使用到EditText這個控件,然後在沒有輸入任何文字的時候,總會顯示hint提示文字,但是有的時候需要去改變這個提示文字的大小以及監聽輸入框的內容變化,以便顯示/隱藏輸入框後面的刪除文字按鈕

//設置EditText提示文字大小
private void setEditText() {
    SpannableString ss = new SpannableString("請輸入搜索內容");//定義hint的顯示的內容
    AbsoluteSizeSpan ass = new AbsoluteSizeSpan(12, true);//設置字體大小 true表示單位是sp
    ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//附加屬性到文本
    contentEditText.setHint(new SpannedString(ss));//設置hint 一定要進行轉換,否則屬性會消失
}
((EditText) findViewById(R.id.et)).addTextChangedListener(textWatcher);
//監聽輸入框內容變化
private TextWatcher textWatcher = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        //文本內容改變之前
        Log.e("Mr.Kang", "beforeTextChanged: " + charSequence);
    }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        //文本內容正在改變
        Log.e("Mr.Kang", "onTextChanged: " + charSequence);
    }

    @Override
    public void afterTextChanged(Editable editable) {
        //文本內容改之後
        Log.e("Mr.Kang", "afterTextChanged: " + editable);

    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章