android如何改變editText控件中部分文字的格式
我們在使用editText控件的時候,會遇到這樣的一問題,就是我在輸入時候,當(dāng)我選擇讓文字變粗時,我輸入的文字就會變粗,當(dāng)我去掉選擇時,再輸入文字時,文字就是正常情況了。
這種情況,大家一般認(rèn)為很簡單啊。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{
//定義當(dāng)前輸入的字符數(shù)
private int CharCount = 0;
//s:變化后的所有字符
public void afterTextChanged(Editable s) {
//將光標(biāo)點(diǎn),移動到最后一個字
edit_temp.setSelection(s.length());
}
//s:變化前的所有字符; start:字符開始的位置; count:變化前的總字節(jié)數(shù);after:變化后的字節(jié)數(shù)
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
}
//S:變化后的所有字符;start:字符起始的位置;before: 變化之前的總字節(jié)數(shù);count:變化后的字節(jié)數(shù)
public void onTextChanged(CharSequence s, int start, int before, int count) {
//判斷當(dāng)前輸入的字符數(shù),與文本框內(nèi)的字符數(shù)長度是否一樣,如果一樣,則不進(jìn)行操作
//主要用來跳出循環(huán),當(dāng)改變文字時,onTextChanged就認(rèn)為有所變化,會進(jìn)入死循環(huán),所以采用這種方式結(jié)束循環(huán)
if(CharCount!=edit_temp.length())
{
//將當(dāng)前字符串的長度給輸入字符串變量
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;
}
}
}
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
- Android如何禁止向EditText控件中輸入內(nèi)容詳解
- Android編程實(shí)現(xiàn)點(diǎn)擊EditText之外的控件隱藏軟鍵盤功能
- Android開發(fā)中給EditText控件添加TextWatcher監(jiān)聽實(shí)現(xiàn)對輸入字?jǐn)?shù)的限制(推薦)
- Android自定義EditText右側(cè)帶圖片控件
- Android帶清除功能的輸入框控件EditTextWithDel
- Android輸入框控件ClearEditText實(shí)現(xiàn)清除功能
- Android實(shí)現(xiàn)EditText控件禁止輸入內(nèi)容的方法(附測試demo)
- Android控件系列之EditText使用方法
- Android自定義控件EditText使用詳解
相關(guān)文章
Android App安裝列表獲取方法(實(shí)踐方案)
文章介紹了Android 11及以上版本獲取應(yīng)用列表的方案調(diào)整,包括權(quán)限配置、白名單配置和action配置三種方式,并提供了相應(yīng)的Java和Kotlin代碼示例,建議在Android 15及以上版本中使用action方式獲取應(yīng)用列表,感興趣的朋友一起看看吧2025-03-03
詳解Android獲取系統(tǒng)內(nèi)核版本的方法與實(shí)現(xiàn)代碼
這篇文章主要介紹了詳解Android獲取系統(tǒng)內(nèi)核版本的方法與實(shí)現(xiàn)代碼的相關(guān)資料,這里提供了具體實(shí)現(xiàn)獲取內(nèi)核的方法,需要的朋友可以參考下2017-07-07
Android編程實(shí)現(xiàn)只顯示圖片一部分的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)只顯示圖片一部分的方法,涉及Android針對圖片的局部顯示操作技巧,需要的朋友可以參考下2016-10-10
Jetpack?Compose實(shí)現(xiàn)點(diǎn)擊事件click的多種方法
這篇文章主要介紹了Jetpack?Compose實(shí)現(xiàn)點(diǎn)擊事件的多種方法,Jetpack?Compose是一款基于Kotlin的聲明式UI工具包,可以方便地創(chuàng)建漂亮的用戶界面,下面我們就來看看Jetpack?Compose添加點(diǎn)擊事件都可以怎么實(shí)現(xiàn)2024-02-02
Android實(shí)現(xiàn)照片墻效果的實(shí)例代碼
Android實(shí)現(xiàn)照片墻效果的設(shè)計(jì)思路其實(shí)也非常簡單,用一個GridView控件當(dāng)作“墻”,然后隨著GridView的滾動將一張張照片貼在“墻”上,這些照片可以是手機(jī)本地中存儲的,也可以是從網(wǎng)上下載的2018-05-05
Android應(yīng)用開發(fā)的版本更新檢測升級功能實(shí)現(xiàn)示例
本文對Android版本更新的知識做全面的總結(jié),主要包括開發(fā)中版本的設(shè)置,如何檢測本程序的版本,版本的更新判斷和顯示,新版本程序的安裝2022-04-04
Android帶圓形數(shù)字進(jìn)度的自定義進(jìn)度條示例
本篇文章主要介紹了Android帶圓形數(shù)字進(jìn)度的自定義進(jìn)度條示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Android 自定義彈出菜單和對話框功能實(shí)例代碼
Android 開發(fā)當(dāng)中,可能會存在許多自定義布局的需求,比如自定義彈出菜單(popupWindow),以及自定義對話框(Dialog)。下面通過本文給大家介紹Android 自定義彈出菜單和對話框功能實(shí)例代碼,感興趣的朋友一起看看吧2017-08-08

