Example usage for android.view View setNextFocusDownId

List of usage examples for android.view View setNextFocusDownId

Introduction

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

Prototype

public void setNextFocusDownId(int nextFocusDownId) 

Source Link

Document

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

Usage

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

public void setMenuFocusDown(boolean idIsEmpty, int id) {
    if (mMenu == null)
        return;//ww w .  j av a2s  .  c o m
    //Save menu items ids for focus control
    final int[] menu_controls = new int[mMenu.size() + 1];
    for (int i = 0; i < mMenu.size(); i++) {
        menu_controls[i] = mMenu.getItem(i).getItemId();
    }
    menu_controls[mMenu.size()] = mActionBarIconId;
    /*menu_controls = new int[]{R.id.ml_menu_search,
    R.id.ml_menu_open_mrl, R.id.ml_menu_sortby,
    R.id.ml_menu_last_playlist, R.id.ml_menu_refresh,
    mActionBarIconId};*/
    int pane = mSlidingPane.getState();
    for (int r : menu_controls) {
        View v = findViewById(r);
        if (v != null) {
            if (!idIsEmpty)
                v.setNextFocusDownId(id);
            else {
                if (pane == mSlidingPane.STATE_CLOSED) {
                    v.setNextFocusDownId(R.id.play_pause);
                } else if (pane == mSlidingPane.STATE_OPENED) {
                    v.setNextFocusDownId(R.id.header_play_pause);
                } else if (pane == mSlidingPane.STATE_OPENED_ENTIRELY) {
                    v.setNextFocusDownId(r);
                }
            }
        }
    }
}

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;
        int pane = mSlidingPane.getState();

        if (parentView == null)
            list = findViewById(id);//from w w  w. j a v  a  2 s .com
        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./*from ww  w. j a va2  s. c om*/
 * 
 * @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);
        }
    }
}

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

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override/*from   www  .j a va2s.  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);
}