如何以编程方式在Android Edittext上设置drawableRight?
我知道在XML中设置drawableRight。 但我需要以编程方式进行,因为它是根据某些条件进行更改的。
你可以使用下面的function:
editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.drawableRight, 0);
对应于可绘制位置的参数的顺序是:左,上,右,下
在这里find更多
EditText myEdit = (EditText) findViewById(R.id.myEdit); myEdit.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.icon, 0); // where params are (left,top,right,bottom)
你也可以编程设置可绘制的填充:
myEdit.setCompoundDrawablePadding("Padding value");
尝试如下:
Drawable img = getContext().getResources().getDrawable( R.drawable.smiley ); EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);
编辑:
int img = R.drawable.smiley; EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);
int img = R.drawable.smiley; editText.setCompoundDrawables( null, null, img, null );
在这里解释
setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)
设置Drawable(如果有的话)显示在文本的左侧,上方,右侧和下方。 使用0,如果你不想在那里绘制。 Drawables的边界将被设置为它们的内在边界。
尝试:
EditText editFirstname = (EditText) findViewById(R.id.edit_fname); Drawable icUser = getResources().getDrawable(R.drawable.ic_user); editFirstname.setCompoundDrawablesWithIntrinsicBounds(null, null, icUser, null);
然后你可以添加一个触摸监听器到特定的drawable。
et_feedback.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { } et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,R.mipmap.feedback_new, 0, 0); et_feedback.setTextColor(Color.BLACK); } });
使用这个隐藏Drawable
et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,0, 0, 0);
你可以使用你的editText视图(这里是txview)内置的函数setCompoundDrawablesWithIntrinsicBounds()来做你正在寻找
在我的代码我用它这样。 txview.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_arrow_drop_up,0);
txview.setCompoundDrawablesWithIntrinsicBounds(left,top,right,bottom);
- 安全地修复:javax.net.ssl.SSLPeerUnverifiedException:没有对等证书
- 如何在Android中处理ListView点击
- 如何将String 转换为ArrayList <String>
- Android Studio Gradle项目“无法启动虚拟机守护进程/初始化”
- Android – 保持ListView的项目突出显示,一旦被点击
- Android ADT错误,dx.jar没有从SDK文件夹中加载
- 在Android Studio中将Unity场景显示为子视图
- Android SDKpipe理器中的Google Web Driver是什么?
- 使用dependency injection与Roboguice?