Example usage for android.view View setNextFocusUpId

List of usage examples for android.view View setNextFocusUpId

Introduction

In this page you can find the example usage for android.view View setNextFocusUpId.

Prototype

public void setNextFocusUpId(int nextFocusUpId) 

Source Link

Document

Sets the id of the view to use when the next focus is #FOCUS_UP .

Usage

From source file:org.videolan.vlc.gui.MyFragment.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override/*w w w.  j av a  2  s. c o m*/
public boolean onKeyUp(int keyCode, KeyEvent event) {
    //Filter for LG devices, see https://code.google.com/p/android/issues/detail?id=78154
    if ((keyCode == KeyEvent.KEYCODE_MENU) && (Build.VERSION.SDK_INT <= 16)
            && (Build.MANUFACTURER.compareTo("LGE") == 0)) {
        openOptionsMenu();
        return true;
    }
    View v = getCurrentFocus();
    if (v == null)
        return super.onKeyUp(keyCode, event);
    if ((mActionBarIconId == -1) && (v.getId() == -1) && (v.getNextFocusDownId() == -1)
            && (v.getNextFocusUpId() == -1) && (v.getNextFocusLeftId() == -1)
            && (v.getNextFocusRightId() == -1)) {
        mActionBarIconId = Util.generateViewId();
        v.setId(mActionBarIconId);
        v.setNextFocusUpId(mActionBarIconId);
        v.setNextFocusDownId(mActionBarIconId);
        v.setNextFocusLeftId(mActionBarIconId);
        v.setNextFocusRightId(R.id.ml_menu_search);
        if (AndroidUtil.isHoneycombOrLater())
            v.setNextFocusForwardId(mActionBarIconId);
        if (findViewById(R.id.ml_menu_search) != null)
            findViewById(R.id.ml_menu_search).setNextFocusLeftId(mActionBarIconId);
    }
    return super.onKeyUp(keyCode, event);
}

From source file:org.videolan.vlc.gui.MyFragment.java

public void setSearchAsFocusDown(boolean idIsEmpty, View parentView, int id) {
    View playPause = findViewById(R.id.header_play_pause);

    if (!idIsEmpty) {
        View list;/*from  w  w  w . j  a v a 2s. c om*/
        int pane = mSlidingPane.getState();

        if (parentView == null)
            list = findViewById(id);
        else
            list = parentView.findViewById(id);

        if (list != null) {
            if (pane == mSlidingPane.STATE_OPENED_ENTIRELY) {
                list.setNextFocusDownId(id);
            } else if (pane == mSlidingPane.STATE_OPENED) {
                list.setNextFocusDownId(R.id.header_play_pause);
                playPause.setNextFocusUpId(id);
            }
        }
    } else {
        playPause.setNextFocusUpId(R.id.ml_menu_search);
    }
}

From source file:com.eleybourn.bookcatalogue.utils.Utils.java

/**
 * Ensure that next up/down/left/right View is visible for all sub-views of the 
 * passed view.// ww  w  .jav a2s  .c o  m
 * 
 * @param root
 */
public static void fixFocusSettings(View root) {
    final INextView getDown = new INextView() {
        @Override
        public int getNext(View v) {
            return v.getNextFocusDownId();
        }

        @Override
        public void setNext(View v, int id) {
            v.setNextFocusDownId(id);
        }
    };
    final INextView getUp = new INextView() {
        @Override
        public int getNext(View v) {
            return v.getNextFocusUpId();
        }

        @Override
        public void setNext(View v, int id) {
            v.setNextFocusUpId(id);
        }
    };
    final INextView getLeft = new INextView() {
        @Override
        public int getNext(View v) {
            return v.getNextFocusLeftId();
        }

        @Override
        public void setNext(View v, int id) {
            v.setNextFocusLeftId(id);
        }
    };
    final INextView getRight = new INextView() {
        @Override
        public int getNext(View v) {
            return v.getNextFocusRightId();
        }

        @Override
        public void setNext(View v, int id) {
            v.setNextFocusRightId(id);
        }
    };

    Hashtable<Integer, View> vh = getViews(root);

    for (Entry<Integer, View> ve : vh.entrySet()) {
        final View v = ve.getValue();
        if (v.getVisibility() == View.VISIBLE) {
            fixNextView(vh, v, getDown);
            fixNextView(vh, v, getUp);
            fixNextView(vh, v, getLeft);
            fixNextView(vh, v, getRight);
        }
    }
}