mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-08 06:42:21 -04:00
android clear icon for search field fix height
Avoids that search field height changes when icon is displayed or hidden.
This commit is contained in:
parent
2300649c33
commit
57b9409388
@ -26,6 +26,7 @@ import android.view.MenuInflater;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.View.MeasureSpec;
|
||||||
import android.view.View.OnTouchListener;
|
import android.view.View.OnTouchListener;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
@ -137,9 +138,11 @@ public class KiwixMobileActivity extends Activity {
|
|||||||
articleSearchBar = (LinearLayout) findViewById(R.id.articleSearchBar);
|
articleSearchBar = (LinearLayout) findViewById(R.id.articleSearchBar);
|
||||||
articleSearchtextView = (AutoCompleteTextView) findViewById(R.id.articleSearchTextView);
|
articleSearchtextView = (AutoCompleteTextView) findViewById(R.id.articleSearchTextView);
|
||||||
|
|
||||||
final Drawable x = getResources().getDrawable(R.drawable.navigation_cancel);//your x image, this one from standard android images looks pretty good actually
|
final Drawable clearIcon = getResources().getDrawable(R.drawable.navigation_cancel);
|
||||||
x.setBounds(0, 0, x.getIntrinsicWidth(), x.getIntrinsicHeight());
|
articleSearchtextView.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED);
|
||||||
articleSearchtextView.setCompoundDrawables(null, null, articleSearchtextView.getText().equals("") ? null : x, null);
|
int height = articleSearchtextView.getMeasuredHeight()-articleSearchtextView.getPaddingTop()-articleSearchtextView.getPaddingBottom();
|
||||||
|
clearIcon.setBounds(0, 0, height, height);
|
||||||
|
articleSearchtextView.setCompoundDrawables(null, null, articleSearchtextView.getText().equals("") ? null : clearIcon, null);
|
||||||
articleSearchtextView.setOnTouchListener(new OnTouchListener() {
|
articleSearchtextView.setOnTouchListener(new OnTouchListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onTouch(View v, MotionEvent event) {
|
public boolean onTouch(View v, MotionEvent event) {
|
||||||
@ -149,7 +152,7 @@ public class KiwixMobileActivity extends Activity {
|
|||||||
if (event.getAction() != MotionEvent.ACTION_UP) {
|
if (event.getAction() != MotionEvent.ACTION_UP) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (event.getX() > articleSearchtextView.getWidth() - articleSearchtextView.getPaddingRight() - x.getIntrinsicWidth()) {
|
if (event.getX() > articleSearchtextView.getWidth() - articleSearchtextView.getPaddingRight() - clearIcon.getIntrinsicWidth()) {
|
||||||
articleSearchtextView.setText("");
|
articleSearchtextView.setText("");
|
||||||
articleSearchtextView.setCompoundDrawables(null, null, null, null);
|
articleSearchtextView.setCompoundDrawables(null, null, null, null);
|
||||||
}
|
}
|
||||||
@ -159,7 +162,7 @@ public class KiwixMobileActivity extends Activity {
|
|||||||
articleSearchtextView.addTextChangedListener(new TextWatcher() {
|
articleSearchtextView.addTextChangedListener(new TextWatcher() {
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
articleSearchtextView.setCompoundDrawables(null, null, articleSearchtextView.getText().toString().equals("") ? null : x, null);
|
articleSearchtextView.setCompoundDrawables(null, null, articleSearchtextView.getText().toString().equals("") ? null : clearIcon, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user