EditText,如何隐藏DrawableRight
EditText, how to hide DrawableRight
我想在我的文本区域中使用 DrawableRight,但是当我开始输入时它应该会消失。所以我有 EditText 的代码和知道何时隐藏可绘制对象的函数,但我不知道如何调用该函数。你能帮帮我吗?
//XML CODE
<EditText
android:id="@+id/textt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:ems="10"
android:paddingLeft="2dp"
android:hint="Wpisz wiadomość"
android:background="@android:color/transparent"
android:maxLines="4" />
//JAVA CODE
public void camera(View v)
{
EditText textArea=(EditText) findViewById(R.id.textt);
if(textArea.getText()==null)
{
textArea.setCompoundDrawables(null, null, ContextCompat.getDrawable(this,R.drawable.ic_camera_alt_black_18dp), null);
}
else
textArea.setCompoundDrawables(null,null,null,null);
}
解决方案:
我处理了它!首先,我将 "this" 更改为 "MainActivity.this"。第二点非常重要——为可绘制对象设置边界!完成。
您应该对您的 Edittext 实施 TextWatcher。
请。看一个例子 here.
在 onTextChanged
中,您可以检查 - 如果 CharSequence s
长度 > 0,那么您输入了一些文本并且应该隐藏可绘制对象。
CharSequence s
是您在 onTextChanged
方法中收到的参数。
隐藏textArea的drabwable,你可以试试这个:
Drawable[] drawables = textArea.getCompoundDrawables();
for (Drawable d: drawables) {
if (d != null) {
d.setAlpha(0);
}
}
我想在我的文本区域中使用 DrawableRight,但是当我开始输入时它应该会消失。所以我有 EditText 的代码和知道何时隐藏可绘制对象的函数,但我不知道如何调用该函数。你能帮帮我吗?
//XML CODE
<EditText
android:id="@+id/textt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:ems="10"
android:paddingLeft="2dp"
android:hint="Wpisz wiadomość"
android:background="@android:color/transparent"
android:maxLines="4" />
//JAVA CODE
public void camera(View v)
{
EditText textArea=(EditText) findViewById(R.id.textt);
if(textArea.getText()==null)
{
textArea.setCompoundDrawables(null, null, ContextCompat.getDrawable(this,R.drawable.ic_camera_alt_black_18dp), null);
}
else
textArea.setCompoundDrawables(null,null,null,null);
}
解决方案: 我处理了它!首先,我将 "this" 更改为 "MainActivity.this"。第二点非常重要——为可绘制对象设置边界!完成。
您应该对您的 Edittext 实施 TextWatcher。
请。看一个例子 here.
在 onTextChanged
中,您可以检查 - 如果 CharSequence s
长度 > 0,那么您输入了一些文本并且应该隐藏可绘制对象。
CharSequence s
是您在 onTextChanged
方法中收到的参数。
隐藏textArea的drabwable,你可以试试这个:
Drawable[] drawables = textArea.getCompoundDrawables();
for (Drawable d: drawables) {
if (d != null) {
d.setAlpha(0);
}
}