国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android如何改變editText控件中部分文字的格式

2019-12-12 03:29:20
字體:
來源:轉載
供稿:網友

我們在使用editText控件的時候,會遇到這樣的一問題,就是我在輸入時候,當我選擇讓文字變粗時,我輸入的文字就會變粗,當我去掉選擇時,再輸入文字時,文字就是正常情況了。

這種情況,大家一般認為很簡單啊。editText中不是有setTypeface這個方法嗎。只要使用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;   }  } } 

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永仁县| 循化| 定远县| 平顺县| 灵台县| 沧源| 桂阳县| 黄冈市| 通州区| 岳阳县| 彰化县| 汉源县| 苍南县| 夏邑县| 六盘水市| 茌平县| 延庆县| 大洼县| 东至县| 右玉县| 建宁县| 呼和浩特市| 长岭县| 内乡县| 南昌县| 巨鹿县| 浪卡子县| 开阳县| 鹤壁市| 乌恰县| 柘城县| 肃宁县| 建阳市| 璧山县| 开原市| 延吉市| 青州市| 新泰市| 宿州市| 高雄市| 越西县|