gpt4 book ai didi

Android:如何通过右侧的十字按钮清除 EditText

转载 作者:可可西里 更新时间:2023-11-01 18:45:20 25 4
gpt4 key购买 nike

我为搜索创建了一个 EditText,它的左侧包含一个搜索图标,右侧包含一个搜索图标:

<EditText
android:id="@+id/Search"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:drawableLeft="@android:drawable/ic_menu_search"
android:drawableRight="@android:drawable/ic_delete"
android:hint="Search Product .." >
</EditText>

我想知道如何在点击十字按钮时清除EditText的内容。

提前谢谢你。

最佳答案

@aristo_sh 来自 Handling click events on a drawable within an EditText 的改进答案

    mQueryEditText.setOnTouchListener(new OnTouchListener() {
final int DRAWABLE_LEFT = 0;
final int DRAWABLE_TOP = 1;
final int DRAWABLE_RIGHT = 2;
final int DRAWABLE_BOTTOM = 3;
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
int leftEdgeOfRightDrawable = mQueryEditText.getRight()
- mQueryEditText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width();
// when EditBox has padding, adjust leftEdge like
// leftEdgeOfRightDrawable -= getResources().getDimension(R.dimen.edittext_padding_left_right);
if (event.getRawX() >= leftEdgeOfRightDrawable) {
// clicked on clear icon
mQueryEditText.setText("");
return true;
}
}
return false;
}
});

关于Android:如何通过右侧的十字按钮清除 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23184120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com