List of usage examples for android.view View requestFocus
public final boolean requestFocus()
From source file:android.support.v17.leanback.widget.GridLayoutManager.java
void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) { if (gainFocus) { // if gridview.requestFocus() is called, select first focusable child. for (int i = mFocusPosition;; i++) { View view = findViewByPosition(i); if (view == null) { break; }//from w ww. j a v a 2 s . c o m if (view.getVisibility() == View.VISIBLE && view.hasFocusable()) { view.requestFocus(); break; } } } }
From source file:com.isapp.android.circularviewpager.CircularViewPager.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) { currentFocused = null;//from ww w . j a va 2 s. co m } else if (currentFocused != null) { boolean isChild = false; for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { if (parent == this) { isChild = true; break; } } if (!isChild) { // This would cause the focus search down below to fail in fun ways. final StringBuilder sb = new StringBuilder(); sb.append(currentFocused.getClass().getSimpleName()); for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { sb.append(" => ").append(parent.getClass().getSimpleName()); } Log.e(TAG, "arrowScroll tried to find focus based on non-child " + "current focused view " + sb.toString()); currentFocused = null; } } boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_LEFT) { // If there is nothing to the left, or this is causing us to // jump to the right, then what we really want to do is page left. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft >= currLeft) { handled = pageLeft(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_RIGHT) { // If there is nothing to the right, or this is causing us to // jump to the left, then what we really want to do is page right. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft <= currLeft) { handled = pageRight(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_LEFT || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageLeft(); } else if (direction == FOCUS_RIGHT || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageRight(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }
From source file:com.borqs.se.addobject.AddObjectViewPager.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) { currentFocused = null;/* w w w .j a va2 s. c o m*/ } else if (currentFocused != null) { boolean isChild = false; for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { if (parent == this) { isChild = true; break; } } if (!isChild) { // This would cause the focus search down below to fail in fun ways. final StringBuilder sb = new StringBuilder(); sb.append(currentFocused.getClass().getSimpleName()); for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { sb.append(" => ").append(parent.getClass().getSimpleName()); } currentFocused = null; } } boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_LEFT) { // If there is nothing to the left, or this is causing us to // jump to the right, then what we really want to do is page left. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft >= currLeft) { handled = pageLeft(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_RIGHT) { // If there is nothing to the right, or this is causing us to // jump to the left, then what we really want to do is page right. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft <= currLeft) { handled = pageRight(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_LEFT || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageLeft(); } else if (direction == FOCUS_RIGHT || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageRight(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }
From source file:com.rbware.github.androidcouchpotato.widget.GridLayoutManager.java
private void scrollToFocusViewInLayout(boolean hadFocus, boolean alignToView) { View focusView = findViewByPosition(mFocusPosition); if (focusView != null && alignToView) { scrollToView(focusView, false);/* w ww. j a va 2s.c om*/ } if (focusView != null && hadFocus && !focusView.hasFocus()) { focusView.requestFocus(); } else if (!hadFocus && !mBaseGridView.hasFocus()) { if (focusView != null && focusView.hasFocusable()) { mBaseGridView.focusableViewAvailable(focusView); } else { for (int i = 0, count = getChildCount(); i < count; i++) { focusView = getChildAt(i); if (focusView != null && focusView.hasFocusable()) { mBaseGridView.focusableViewAvailable(focusView); break; } } // focusViewAvailable() might focus to the view, scroll to it if that is the case. if (alignToView && focusView != null && focusView.hasFocus()) { scrollToView(focusView, false); } } } }
From source file:VerticalViewPager.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) { currentFocused = null;//ww w . j a v a2 s. com } else if (currentFocused != null) { boolean isChild = false; for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { if (parent == this) { isChild = true; break; } } if (!isChild) { // This would cause the focus search down below to fail in fun ways. final StringBuilder sb = new StringBuilder(); sb.append(currentFocused.getClass().getSimpleName()); for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { sb.append(" => ").append(parent.getClass().getSimpleName()); } Log.e(TAG, "arrowScroll tried to find focus based on non-child " + "current focused view " + sb.toString()); currentFocused = null; } } boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_UP) { // If there is nothing up, or this is causing us to // jump down, then what we really want to do is page down. final int nextUp = getChildRectInPagerCoordinates(mTempRect, nextFocused).top; final int currUp = getChildRectInPagerCoordinates(mTempRect, currentFocused).top; if (currentFocused != null && nextUp >= currUp) { handled = pageUp(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_DOWN) { // If there is nothing to the bottom, or this is causing us to // jump up, then what we really want to do is page bottom. final int nextDown = getChildRectInPagerCoordinates(mTempRect, nextFocused).bottom; final int currDown = getChildRectInPagerCoordinates(mTempRect, currentFocused).bottom; if (currentFocused != null && nextDown <= currDown) { handled = pageDown(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_UP || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageUp(); } else if (direction == FOCUS_DOWN || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageDown(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }
From source file:com.ok.utils.widget.ViewPagerModify.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) { currentFocused = null;/* www .ja v a 2 s . c o m*/ } else if (currentFocused != null) { boolean isChild = false; for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { if (parent == this) { isChild = true; break; } } if (!isChild) { // This would cause the focus search down below to fail in fun ways. final StringBuilder sb = new StringBuilder(); sb.append(currentFocused.getClass().getSimpleName()); for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { sb.append(" => ").append(parent.getClass().getSimpleName()); } LogUtils.e(TAG, "arrowScroll tried to find focus based on non-child " + "current focused view " + sb.toString()); currentFocused = null; } } boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_LEFT) { // If there is nothing to the left, or this is causing us to // jump to the right, then what we really want to do is page left. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft >= currLeft) { handled = pageLeft(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_RIGHT) { // If there is nothing to the right, or this is causing us to // jump to the left, then what we really want to do is page right. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft <= currLeft) { handled = pageRight(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_LEFT || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageLeft(); } else if (direction == FOCUS_RIGHT || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageRight(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }
From source file:com.stone.card.VerticalViewPager.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) currentFocused = null;/*from w ww . j ava 2 s .c o m*/ boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_UP) { // If there is nothing to the left, or this is causing us to // jump to the right, then what we really want to do is page // left. final int nextUp = getChildRectInPagerCoordinates(mTempRect, nextFocused).top; final int currUp = getChildRectInPagerCoordinates(mTempRect, currentFocused).top; if (currentFocused != null && nextUp >= currUp) { handled = pageUp(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_RIGHT) { // If there is nothing to the right, or this is causing us to // jump to the left, then what we really want to do is page // right. final int nextDown = getChildRectInPagerCoordinates(mTempRect, nextFocused).bottom; final int currDown = getChildRectInPagerCoordinates(mTempRect, currentFocused).bottom; if (currentFocused != null && nextDown <= currDown) { handled = pageDown(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_LEFT || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageUp(); } else if (direction == FOCUS_RIGHT || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageDown(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }
From source file:com.suning.boxcontroller.control.ExViewPager.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) { currentFocused = null;// w ww. j a v a2s . co m } boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_LEFT) { // If there is nothing to the left, or this is causing us to // jump to the right, then what we really want to do is page left. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft >= currLeft) { handled = pageLeft(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_RIGHT) { // If there is nothing to the right, or this is causing us to // jump to the left, then what we really want to do is page right. final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left; final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left; if (currentFocused != null && nextLeft <= currLeft) { handled = pageRight(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_LEFT || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageLeft(); } else if (direction == FOCUS_RIGHT || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageRight(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }
From source file:me.tipi.kiosk.ui.fragments.IdentityFragment.java
/** * Is error boolean./*from w ww .j a v a 2 s. c o m*/ * * @return the boolean */ private boolean isError() { firstNameLayout.setErrorEnabled(false); lastNameLayout.setErrorEnabled(false); birthdayLayout.setErrorEnabled(false); firstNameLayout.setError(null); lastNameLayout.setError(null); birthdayLayout.setError(null); passportLayout.setError(null); boolean cancel = false; View focusView = null; enteredFirstName = firstNameTextView.getText().toString().trim(); enteredFirstName = enteredFirstName.replaceAll("\\s{2,}", " "); enteredLastName = lastNameTextView.getText().toString().trim(); enteredLastName = enteredLastName.replaceAll("\\s{2,}", " "); enteredHomeTown = homeTownACView.getText().toString().trim(); enteredPassport = passportEditText.getText().toString().trim(); Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 1900); // Check for validation if (TextUtils.isEmpty(enteredFirstName)) { firstNameTextView.setError(getString(R.string.error_field_required)); focusView = firstNameTextView; cancel = true; } else if (TextUtils.isEmpty(enteredLastName)) { lastNameTextView.setError(getString(R.string.error_field_required)); focusView = lastNameTextView; cancel = true; } else if (!validateFullName(enteredFirstName)) { firstNameLayout.setError(getString(R.string.error_invalid_full_name)); focusView = firstNameTextView; cancel = true; } else if (!validateFullName(enteredLastName)) { lastNameLayout.setError(getString(R.string.error_invalid_full_name)); focusView = lastNameTextView; cancel = true; } else if (TextUtils.isEmpty(enteredHomeTown)) { homeTownACView.setError(getString(R.string.error_field_required)); focusView = homeTownACView; cancel = true; } else if (!hasSelectedHometown) { homeTownLayout.setError(getString(R.string.home_town_error)); focusView = homeTownACView; cancel = true; homeTownACView.setText(""); } else if (TextUtils.isEmpty(enteredPassport)) { passportLayout.setError(getString(R.string.error_field_required)); focusView = passportEditText; cancel = true; } else if (dob == null || TextUtils.isEmpty(birthDayPickerView.getText().toString().trim())) { birthdayLayout.setError(getString(R.string.error_field_required)); focusView = birthDayPickerView; cancel = true; } else if (dob != null && !TextUtils.isEmpty(birthDayPickerView.getText().toString().trim())) { if (dob.after(new Date())) { birthdayLayout.setError(getString(R.string.birthday_error)); focusView = birthDayPickerView; cancel = true; birthDayPickerView.setText(""); dob = null; } if (dob != null && dob.before(cal.getTime())) { birthdayLayout.setError(getString(R.string.birthday_error_old)); focusView = birthDayPickerView; cancel = true; birthDayPickerView.setText(""); dob = null; } } if (cancel) { if (focusView != null) { focusView.requestFocus(); } } return cancel; }
From source file:eu.kanade.tachiyomi.ui.reader.viewer.pager.vertical.VerticalViewPagerImpl.java
public boolean arrowScroll(int direction) { View currentFocused = findFocus(); if (currentFocused == this) { currentFocused = null;/*from www. jav a 2s . co m*/ } else if (currentFocused != null) { boolean isChild = false; for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { if (parent == this) { isChild = true; break; } } if (!isChild) { // This would cause the focus search down below to fail in fun ways. final StringBuilder sb = new StringBuilder(); sb.append(currentFocused.getClass().getSimpleName()); for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup; parent = parent .getParent()) { sb.append(" => ").append(parent.getClass().getSimpleName()); } Log.e(TAG, "arrowScroll tried to find focus based on non-child " + "current focused view " + sb.toString()); currentFocused = null; } } boolean handled = false; View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused, direction); if (nextFocused != null && nextFocused != currentFocused) { if (direction == View.FOCUS_UP) { // If there is nothing to the left, or this is causing us to // jump to the right, then what we really want to do is page left. final int nextTop = getChildRectInPagerCoordinates(mTempRect, nextFocused).top; final int currTop = getChildRectInPagerCoordinates(mTempRect, currentFocused).top; if (currentFocused != null && nextTop >= currTop) { handled = pageUp(); } else { handled = nextFocused.requestFocus(); } } else if (direction == View.FOCUS_DOWN) { // If there is nothing to the right, or this is causing us to // jump to the left, then what we really want to do is page right. final int nextDown = getChildRectInPagerCoordinates(mTempRect, nextFocused).bottom; final int currDown = getChildRectInPagerCoordinates(mTempRect, currentFocused).bottom; if (currentFocused != null && nextDown <= currDown) { handled = pageDown(); } else { handled = nextFocused.requestFocus(); } } } else if (direction == FOCUS_UP || direction == FOCUS_BACKWARD) { // Trying to move left and nothing there; try to page. handled = pageUp(); } else if (direction == FOCUS_DOWN || direction == FOCUS_FORWARD) { // Trying to move right and nothing there; try to page. handled = pageDown(); } if (handled) { playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction)); } return handled; }