当前位置: 首页>>代码示例>>Java>>正文


Java View.findFocus方法代码示例

本文整理汇总了Java中android.view.View.findFocus方法的典型用法代码示例。如果您正苦于以下问题:Java View.findFocus方法的具体用法?Java View.findFocus怎么用?Java View.findFocus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.view.View的用法示例。


在下文中一共展示了View.findFocus方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleHorizontalFocusWithinListItem

import android.view.View; //导入方法依赖的package包/类
private boolean handleHorizontalFocusWithinListItem(int direction) {
    if (direction == 33 || direction == 130) {
        int numChildren = getChildCount();
        if (this.mItemsCanFocus && numChildren > 0 && this.mSelectedPosition != -1) {
            View selectedView = getSelectedView();
            if (selectedView != null && selectedView.hasFocus() && (selectedView instanceof ViewGroup)) {
                View currentFocus = selectedView.findFocus();
                View nextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) selectedView, currentFocus, direction);
                if (nextFocus != null) {
                    currentFocus.getFocusedRect(this.mTempRect);
                    offsetDescendantRectToMyCoords(currentFocus, this.mTempRect);
                    offsetRectIntoDescendantCoords(nextFocus, this.mTempRect);
                    if (nextFocus.requestFocus(direction, this.mTempRect)) {
                        return true;
                    }
                }
                View globalNextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) getRootView(), currentFocus, direction);
                if (globalNextFocus != null) {
                    return isViewAncestorOf(globalNextFocus, this);
                }
            }
        }
        return false;
    }
    throw new IllegalArgumentException("direction must be one of {View.FOCUS_UP, View.FOCUS_DOWN}");
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:27,代码来源:HListView.java

示例2: hideKeyboard

import android.view.View; //导入方法依赖的package包/类
public static void hideKeyboard(View v) {
    if (v == null) {
        return;
    }

    View focus = v.findFocus();
    if (focus != null) {
        Context c = v.getContext();
        InputMethodManager imm =
                (InputMethodManager) c.getSystemService(Context.INPUT_METHOD_SERVICE);

        imm.hideSoftInputFromWindow(focus.getWindowToken(), 0);
    }
}
 
开发者ID:BANKEX,项目名称:smart-asset-iot-android-demo,代码行数:15,代码来源:UIUtils.java

示例3: handleHorizontalFocusWithinListItem

import android.view.View; //导入方法依赖的package包/类
/**
 * To avoid horizontal focus searches changing the selected item, we
 * manually focus search within the selected item (as applicable), and
 * prevent focus from jumping to something within another item.
 * 
 * @param direction
 *            one of {View.FOCUS_LEFT, View.FOCUS_RIGHT}
 * @return Whether this consumes the key event.
 */
private boolean handleHorizontalFocusWithinListItem(int direction) {
	// TODO: implement this
	if (direction != View.FOCUS_UP && direction != View.FOCUS_DOWN) {
		throw new IllegalArgumentException("direction must be one of" + " {View.FOCUS_UP, View.FOCUS_DOWN}");
	}

	final int numChildren = getChildCount();
	if (mItemsCanFocus && numChildren > 0 && mSelectedPosition != INVALID_POSITION) {
		final View selectedView = getSelectedView();
		if (selectedView != null && selectedView.hasFocus() && selectedView instanceof ViewGroup) {

			final View currentFocus = selectedView.findFocus();
			final View nextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) selectedView, currentFocus,
					direction);
			if (nextFocus != null) {
				// do the math to get interesting rect in next focus'
				// coordinates
				currentFocus.getFocusedRect(mTempRect);
				offsetDescendantRectToMyCoords(currentFocus, mTempRect);
				offsetRectIntoDescendantCoords(nextFocus, mTempRect);
				if (nextFocus.requestFocus(direction, mTempRect)) {
					return true;
				}
			}
			// we are blocking the key from being handled (by returning
			// true)
			// if the global result is going to be some other view within
			// this
			// list. this is to acheive the overall goal of having
			// horizontal d-pad navigation remain in the current item.
			final View globalNextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) getRootView(),
					currentFocus, direction);
			if (globalNextFocus != null) {
				return isViewAncestorOf(globalNextFocus, this);
			}
		}
	}
	return false;
}
 
开发者ID:junchenChow,项目名称:exciting-app,代码行数:49,代码来源:HListView.java

示例4: deleteCurveDefView

import android.view.View; //导入方法依赖的package包/类
public boolean deleteCurveDefView(int nPosition)	{
	if (nPosition >= mlistCurveSettings.length || nPosition < 0)	{
		return false;	// do not exist.
	}
	
	CurveSettings[] listCurveSettings
		= new CurveSettings[mlistCurveSettings.length - 1];
	for (int i = 0; i < mlistCurveSettings.length; i++)	{
		if (i < nPosition)	{
			listCurveSettings[i] = mlistCurveSettings[i];
		} else if (i > nPosition)	{
			listCurveSettings[i - 1] = mlistCurveSettings[i];
		}
	}
	mlistCurveSettings = listCurveSettings;
	
	int nIdxToBeDeleted = -1;
	for (int i = 0; i < mlayoutCurveListViewHolder.getChildCount(); i++)	{
		View vChild = mlayoutCurveListViewHolder.getChildAt(i);
		if (vChild.getTag() != null && vChild.getTag() instanceof CurveDefViewHolder)	{
			if (((CurveDefViewHolder)(vChild.getTag())).mnPosition == nPosition)	{
				nIdxToBeDeleted = i;
				View vFocusOnToBeDeleted = vChild.findFocus();
				if (vFocusOnToBeDeleted != null && vFocusOnToBeDeleted == minputMethod.medtInput)	{
					// ok, we have to change focus, otherwise input may crash
					EditText edtGraphName = (EditText)findViewById(R.id.graph_name_edit);
					edtGraphName.requestFocus();	// if not set new focus, the input from ime may crash.
				}
			} else if (((CurveDefViewHolder)(vChild.getTag())).mnPosition > nPosition)	{
				((CurveDefViewHolder)(vChild.getTag())).mnPosition --;
			}
		}
	}
	if (nIdxToBeDeleted >= 0)	{
		mlayoutCurveListViewHolder.removeViewAt(nIdxToBeDeleted);
	}
	return true;
}
 
开发者ID:woshiwpa,项目名称:SmartMath,代码行数:39,代码来源:ActivityPlotXYGraph.java

示例5: deleteSurfaceDefView

import android.view.View; //导入方法依赖的package包/类
public boolean deleteSurfaceDefView(int nPosition)	{
	if (nPosition >= mlistSurfaceSettings.length || nPosition < 0)	{
		return false;	// do not exist.
	}
	
	SurfaceSettings[] listSurfaceSettings
		= new SurfaceSettings[mlistSurfaceSettings.length - 1];
	for (int i = 0; i < mlistSurfaceSettings.length; i++)	{
		if (i < nPosition)	{
			listSurfaceSettings[i] = mlistSurfaceSettings[i];
		} else if (i > nPosition)	{
			listSurfaceSettings[i - 1] = mlistSurfaceSettings[i];
		}
	}
	mlistSurfaceSettings = listSurfaceSettings;
	
	int nIdxToBeDeleted = -1;
	for (int i = 0; i < mlayoutSurfaceListViewHolder.getChildCount(); i++)	{
		View vChild = mlayoutSurfaceListViewHolder.getChildAt(i);
		if (vChild.getTag() != null && vChild.getTag() instanceof SurfaceDefViewHolder)	{
			if (((SurfaceDefViewHolder)(vChild.getTag())).mnPosition == nPosition)	{
				nIdxToBeDeleted = i;
				View vFocusOnToBeDeleted = vChild.findFocus();
				if (vFocusOnToBeDeleted != null && vFocusOnToBeDeleted == minputMethod.medtInput)	{
					// ok, we have to change focus, otherwise input may crash
					EditText edtGraphName = (EditText)findViewById(R.id.graph_name_edit);
					edtGraphName.requestFocus();	// if not set new focus, the input from ime may crash.
				}
			} else if (((SurfaceDefViewHolder)(vChild.getTag())).mnPosition > nPosition)	{
				((SurfaceDefViewHolder)(vChild.getTag())).mnPosition --;
			}
		}
	}
	if (nIdxToBeDeleted >= 0)	{
		mlayoutSurfaceListViewHolder.removeViewAt(nIdxToBeDeleted);
	}
	return true;
}
 
开发者ID:woshiwpa,项目名称:SmartMath,代码行数:39,代码来源:ActivityPlotXYZGraph.java

示例6: arrowScrollImpl

import android.view.View; //导入方法依赖的package包/类
private boolean arrowScrollImpl(int direction) {
    if (getChildCount() <= 0) {
        return false;
    }
    boolean needToRedraw;
    View focused;
    View selectedView = getSelectedView();
    int selectedPos = this.mSelectedPosition;
    int nextSelectedPosition = lookForSelectablePositionOnScreen(direction);
    int amountToScroll = amountToScroll(direction, nextSelectedPosition);
    ArrowScrollFocusResult focusResult = this.mItemsCanFocus ? arrowScrollFocused(direction) : null;
    if (focusResult != null) {
        nextSelectedPosition = focusResult.getSelectedPosition();
        amountToScroll = focusResult.getAmountToScroll();
    }
    if (focusResult != null) {
        needToRedraw = true;
    } else {
        needToRedraw = false;
    }
    if (nextSelectedPosition != -1) {
        boolean z;
        if (focusResult != null) {
            z = true;
        } else {
            z = false;
        }
        handleNewSelectionChange(selectedView, direction, nextSelectedPosition, z);
        setSelectedPositionInt(nextSelectedPosition);
        setNextSelectedPositionInt(nextSelectedPosition);
        selectedView = getSelectedView();
        selectedPos = nextSelectedPosition;
        if (this.mItemsCanFocus && focusResult == null) {
            focused = getFocusedChild();
            if (focused != null) {
                focused.clearFocus();
            }
        }
        needToRedraw = true;
        checkSelectionChanged();
    }
    if (amountToScroll > 0) {
        if (direction != 33) {
            amountToScroll = -amountToScroll;
        }
        scrollListItemsBy(amountToScroll);
        needToRedraw = true;
    }
    if (this.mItemsCanFocus && focusResult == null && selectedView != null && selectedView.hasFocus()) {
        focused = selectedView.findFocus();
        if (!isViewAncestorOf(focused, this) || distanceToView(focused) > 0) {
            focused.clearFocus();
        }
    }
    if (!(nextSelectedPosition != -1 || selectedView == null || isViewAncestorOf(selectedView, this))) {
        selectedView = null;
        hideSelector();
        this.mResurrectToPosition = -1;
    }
    if (!needToRedraw) {
        return false;
    }
    if (selectedView != null) {
        positionSelector(selectedPos, selectedView);
        this.mSelectedLeft = selectedView.getLeft();
    }
    if (!awakenScrollBars()) {
        invalidate();
    }
    invokeOnItemScrollListener();
    return true;
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:73,代码来源:HListView.java


注:本文中的android.view.View.findFocus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。