android EditText输入文字 数字时 里面的图片文字怎么消失 用的是哪个属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android EditText输入文字 数字时 里面的图片文字怎么消失 用的是哪个属性?相关的知识,希望对你有一定的参考价值。

你说的是在EditText有个水印,输入的时候水印消失的效果吧?你再EditText的XML中加入android:hint=“请输入用户名”,运行时EditText就会有一个“请输入用户名”的水印,当你输入任何字符时,水印消失,删除所有字符后水印又会出来,你还可以用android:textColorHint="颜色值"来设置水印文字的颜色哦。在java代码中可以使用对应的方法实现这些功能,分别是
setHint(水印文字)和setHintTextColor(颜色值)追问

第一点,这个查找的图片怎么加上去,同样,在里面输入文字或数字后,查找图标和文字一起消失?知道的话,告诉我 谢谢!

追答

对于那个搜索图标,你可以采用组合控件的办法,就是采用布局,把ImageView和EditText组合起来,还有一种方法就是你使用一个EditText,可以在xml里面采用android:drawableLeft=""属性设置图标,以上两种方法,你都可以在代码中监听EditText的输入(使用addTextChangedListener(TextWatcher watcher) 监听)在输入的文本改变的时候改变图片,对于第一种方法,你可以之直接设置ImageView的图片,第二种方法可以采用setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)方法改变图片。

参考技术A 可以通过jiao'di焦点改变的方法来控制,d当焦点改变的时候将li'mian'de里面的文字置为空

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

  我们在使用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;  
        }  
    }    
}  

  

以上是关于android EditText输入文字 数字时 里面的图片文字怎么消失 用的是哪个属性?的主要内容,如果未能解决你的问题,请参考以下文章

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

Android 编辑框(EditText)属性学习

如何实现android EditText允许输入字母和数字,同时默认弹出数字键盘?

Android studio可以只用edittext这1个控件实现说明文字和输入框的效果吗?

EditText提示文字

android中EditText输入类型为啥不能设置为中文