介绍
这篇文章将为大家详细讲解有关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 增压泵,ViewGroup 容器,, ,,Bundle savedInstanceState), {, View 才能;View =, inflater.inflate (R.layout.main_addnote,容器,false),, initView才能(视图),,, ,,return ; }大敌; ,public void  initView (View 视图), ,{,,,//才能初始化屏幕下面菜单栏——字体变粗按钮, linearLayout_Bold 才能=,(LinearLayout) view.findViewById (R.id.linearLayout_Bold);, linearLayout_Bold.setOnClickListener才能(这个),, 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:才能变化前的所有字符;,开始:字符开始的位置;,数:变化前的总字节数;后:变化后的字节数, public 才能;void  beforeTextChanged (CharSequence 年代,int 开始,int 统计,int 后),{, ,,},//S:才能变化后的所有字符;开始:字符起始的位置,:,变化之前的总字节数,数:变化后的字节数, public 才能;void  onTextChanged (CharSequence 年代,int 开始,int 之前,int 计数),{, ,,//判断当前输入的字符数,与文本框内的字符数长度是否一样,如果一样,则不进行操作, ,,//主要用来跳出循环,当改变文字时,onTextChanged就认为有所变化,会进入死循环,所以采用这种方式结束循环, ,,如果(CharCount !=edit_temp.length ()), ,,{,, ,,,//将当前字符串的长度给输入字符串变量, ,,,CharCount =, edit_temp.length (),,,,,, ,,,//定义SpannableString,它主要的用途就是可以改变editText, TextView中部分文字的格式,以及向其中插入图片等功能, ,,,SpannableString ss =, new SpannableString (s),,,,,, ,,,如果(linearLayout_Bold.getTag () .toString () .equals (“1“)), ,,,{,,,,, ,,,,ss.setSpan (new StyleSpan (Typeface.BOLD_ITALIC),,,, s.length (),, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE),, ,,,,edit_temp.setText (ss),, ,,,}, ,,},,, ,,},,, }大敌; ,@Override ,public void  onClick (View v), {, switch 才能;(v.getId ()), {, case 才能;R.id.linearLayout_Bold:, ,,如果(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 如果(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)),, ,,}, ,,,休息; ,,默认值: ,,,休息; ,,}, }大敌; }
关于android应用如何改变editText中文字的格式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。