這篇文章將為大家詳細講解有關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中文字的格式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文名稱:android應用如何改變editText中文字的格式
當前網址:http://www.yijiale78.com/article14/gddige.html
成都網站建設公司_創新互聯,為您提供微信公眾號、網站制作、外貿網站建設、網站內鏈、ChatGPT、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯