您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關android應用如何改變editText中文字的格式,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
使用edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));就可以了。可是問題來了。這種方法,是將editText中所有的文字的格式全變了。可是我想要的格式是這樣的: 正常格式變粗的格式正常的格式
public class FragmentAddNote extends Fragment implements OnClickListener { //定義輸入文本控件 private EditText edit_temp; //定義屏幕下面菜單欄--字體變粗按鈕 private LinearLayout linearLayout_Bold; private ImageView img_Bold; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.main_addnote, container, false); initView(view); return view; } public void initView(View view) { //初始化屏幕下面菜單欄--字體變粗按鈕 linearLayout_Bold = (LinearLayout)view.findViewById(R.id.linearLayout_Bold); linearLayout_Bold.setOnClickListener(this); img_Bold = (ImageView)view.findViewById(R.id.img_Bold); //初始化輸入文本控件 edit_temp = (EditText)view.findViewById(R.id.edit_temp); edit_temp.addTextChangedListener(new editTextChangedListener()); } class editTextChangedListener implements TextWatcher{ //定義當前輸入的字符數 private int CharCount = 0; //s:變化后的所有字符 public void afterTextChanged(Editable s) { //將光標點,移動到最后一個字 edit_temp.setSelection(s.length()); } //s:變化前的所有字符; start:字符開始的位置; count:變化前的總字節數;after:變化后的字節數 public void beforeTextChanged(CharSequence s, int start, int count,int after) { } //S:變化后的所有字符;start:字符起始的位置;before: 變化之前的總字節數;count:變化后的字節數 public void onTextChanged(CharSequence s, int start, int before, int count) { //判斷當前輸入的字符數,與文本框內的字符數長度是否一樣,如果一樣,則不進行操作 //主要用來跳出循環,當改變文字時,onTextChanged就認為有所變化,會進入死循環,所以采用這種方式結束循環 if(CharCount!=edit_temp.length()) { //將當前字符串的長度給輸入字符串變量 CharCount = edit_temp.length(); //定義SpannableString,它主要的用途就是可以改變editText,TextView中部分文字的格式,以及向其中插入圖片等功能 SpannableString ss = new SpannableString(s); if(linearLayout_Bold.getTag().toString().equals("1")) { ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), start, s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); edit_temp.setText(ss); } } } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.linearLayout_Bold: if(linearLayout_Bold.getTag().toString().equals("0")) { img_Bold.setImageResource(R.drawable.ic_editor_bar_rtf_bold_on); linearLayout_Bold.setTag("1"); //edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); }else if(linearLayout_Bold.getTag().toString().equals("1")) { img_Bold.setImageResource(R.drawable.ic_editor_bar_rtf_bold); linearLayout_Bold.setTag("0"); //edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); } break; default: break; } } }
關于android應用如何改變editText中文字的格式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。