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


Java View.hasFocus方法代码示例

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


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

示例1: onTouch

import android.view.View; //导入方法依赖的package包/类
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View view, MotionEvent arg1) {
	if (view != null && !view.hasFocus()) {
		view.requestFocus();
	}
	mAction = arg1.getAction();
	mY = arg1.getY();
	if (mAction == MotionEvent.ACTION_DOWN) {
		mLocation = mY;
	} else if (mAction == MotionEvent.ACTION_UP) {
		if ((mY - mLocation) > SCROLL_DOWN_THRESHOLD) {
			if (mWebView.getScrollY() != 0) {
				mBrowserController.showActionBar();
			} else {
				mBrowserController.toggleActionBar();
			}
		} else if ((mY - mLocation) < -SCROLL_UP_THRESHOLD) {
			mBrowserController.hideActionBar();
		}
		mLocation = 0;
	}
	mGestureDetector.onTouchEvent(arg1);
	return false;
}
 
开发者ID:NewCasino,项目名称:browser,代码行数:26,代码来源:LightningView.java

示例2: tryPassFirstViewToPrevious

import android.view.View; //导入方法依赖的package包/类
private boolean tryPassFirstViewToPrevious(DocumentColumn current, DocumentColumn previous) {
    final View view = current.getViewCount() == 0 ? null : current.getViewAt(0);
    if (view != null && previous.canTake(view, view.getLayoutParams(), false)) {
        mLog.i("tryPassFirstViewToPrevious:", "passing view", Utils.mark(view),
                "from", current.getNumber(), "to", previous.getNumber());
        boolean hasFocus = view.hasFocus();
        current.release(view);
        previous.take(view, view.getLayoutParams());
        if (hasFocus) {
            view.post(new Runnable() {
                @Override
                public void run() {
                    view.requestFocus();
                    Utils.showKeyboard(view);
                }
            });
        }
        return true;
    }
    return false;
}
 
开发者ID:natario1,项目名称:ViewPrinter,代码行数:22,代码来源:DocumentPage.java

示例3: tryPassFirstViewToPrevious

import android.view.View; //导入方法依赖的package包/类
private boolean tryPassFirstViewToPrevious(DocumentPage current, DocumentPage previous) {
    final View view = current.getViewCount() == 0 ? null : current.getViewAt(0);
    if (view != null && previous.canTake(view, view.getLayoutParams(), false)) {
        LOG.i("tryPassFirstViewToPrevious:", "passing view", Utils.mark(view),
                "from", current.getNumber(), "to", previous.getNumber());
        boolean hasFocus = view.hasFocus();
        current.release(view);
        previous.take(view, view.getLayoutParams());
        if (current.getViewCount() == 0) {
            onEmpty(current);
        }
        if (hasFocus) {
            view.post(new Runnable() {
                @Override
                public void run() {
                    view.requestFocus();
                    Utils.showKeyboard(view);
                }
            });
        }
        return true;
    }
    return false;
}
 
开发者ID:natario1,项目名称:ViewPrinter,代码行数:25,代码来源:DocumentPager.java

示例4: 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

示例5: onTouch

import android.view.View; //导入方法依赖的package包/类
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(@Nullable View view, @NonNull MotionEvent arg1) {
    if (view == null)
        return false;

    if (!view.hasFocus()) {
        view.requestFocus();
    }
    mAction = arg1.getAction();
    mY = arg1.getY();
    if (mAction == MotionEvent.ACTION_DOWN) {
        mLocation = mY;
    } else if (mAction == MotionEvent.ACTION_UP) {
        final float distance = (mY - mLocation);
        if (distance > SCROLL_UP_THRESHOLD && view.getScrollY() < SCROLL_UP_THRESHOLD) {
            mUIController.showActionBar();
        } else if (distance < -SCROLL_UP_THRESHOLD) {
            mUIController.hideActionBar();
        }
        mLocation = 0;
    }
    mGestureDetector.onTouchEvent(arg1);
    return false;
}
 
开发者ID:XndroidDev,项目名称:Xndroid,代码行数:26,代码来源:LightningView.java

示例6: showKeyboard

import android.view.View; //导入方法依赖的package包/类
public void showKeyboard(View view) {
    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1 && view.hasFocus()) {
        view.clearFocus();
    }
    view.requestFocus();
    InputMethodManager imm = (InputMethodManager) view.getContext()
        .getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm != null) {
        imm.showSoftInput(view, 0);
    }
}
 
开发者ID:nichbar,项目名称:Aequorea,代码行数:12,代码来源:MaterialSearchView.java

示例7: 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

示例8: saveFocus

import android.view.View; //导入方法依赖的package包/类
@Override
public boolean saveFocus(final View sv) {
    int i = 0;
    lastScroll=0;
    for(View t : ti ) {
        if (t.hasFocus()) {
            current = i;
            if(sv!=null)
                 lastScroll = sv.getScrollY();
            return true;
        }
        i++;
    }
    return false;
}
 
开发者ID:archos-sa,项目名称:aos-Video,代码行数:16,代码来源:TVMenu.java

示例9: showKeyboard

import android.view.View; //导入方法依赖的package包/类
public void showKeyboard(View view) {
    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1 && view.hasFocus()) {
        view.clearFocus();
    }
    view.requestFocus();
    InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(view, 0);
}
 
开发者ID:sciage,项目名称:FinalProject,代码行数:9,代码来源:MaterialSearchView.java

示例10: changeHasFocusViewBackgroundColor

import android.view.View; //导入方法依赖的package包/类
public void changeHasFocusViewBackgroundColor(View view) {
    if (view.hasFocus()) {
        view.setBackgroundColor(UIUtils.getColor(R.color.green0));
    } else {
        view.setBackgroundColor(UIUtils.getColor(R.color.line));
    }
}
 
开发者ID:starryxp,项目名称:LQRWeChat-master,代码行数:8,代码来源:LoginAtPresenter.java

示例11: onSpaceOver

import android.view.View; //导入方法依赖的package包/类
@Override
public void onSpaceOver(DocumentColumn column) {
    // This child was not OK in the column it came from.
    // If this is called, we are probably wrap content.
    if (column.getViewCount() == 0) return; // <- happens during collects..
    mLog.i("onSpaceOver:", "triggered by column", column.getNumber());
    int which = mColumns.indexOf(column);
    boolean last = which == mColumnCount - 1;

    if (last) {
        // This is not our business.
        mLog.i("onSpaceOver:", "last column, passing up to pager.");
        getRoot().onSpaceOver(this);
    } else {
        final View lastView = column.getViewAt(column.getViewCount() - 1);
        // If it is marked as untakable, there is nothing we can do.
        // But it could be a view that just grew to be untakable, so we check if the column
        // could take it if it were empty.
        if (Utils.isUntakable(lastView)) return;
        if (!column.canTake(lastView, lastView.getLayoutParams(), true)) {
            Utils.setUntakable(lastView, true);
            return;
        }


        DocumentColumn next = mColumns.get(which + 1);
        mLog.i("onSpaceOver:", "passing view", Utils.mark(lastView), "to column", next.getNumber());
        boolean hasFocus = lastView.hasFocus();
        column.release(lastView);
        next.takeFirst(lastView, lastView.getLayoutParams());
        if (hasFocus) {
            lastView.post(new Runnable() {
                @Override
                public void run() {
                    lastView.requestFocus();
                    Utils.showKeyboard(lastView);
                }
            });
        }
    }
}
 
开发者ID:natario1,项目名称:ViewPrinter,代码行数:42,代码来源:DocumentPage.java

示例12: onSpaceOver

import android.view.View; //导入方法依赖的package包/类
@Override
public void onSpaceOver(DocumentPage page) {
    // This child was not OK in the page it came from. Can we open a new one?
    // If this is called, we are NOT wrap content.
    if (!mEnabled) return;
    LOG.i("onSpaceOver:", "triggered by page", page.getNumber());
    final View last = page.getViewAt(page.getViewCount() - 1);

    // If it is marked as untakable, there is nothing we can do.
    // But it could be a view that just grew to be untakable, so we check if the page
    // could take it if it were empty.
    if (Utils.isUntakable(last)) return;
    if (!page.canTake(last, last.getLayoutParams(), true)) {
        Utils.setUntakable(last, true);
        return;
    }

    // Pass to a new page.
    LOG.i("onSpaceOver:", "passing view", Utils.mark(last),
            "to page", page.getNumber() + 1);
    synchronized (mLock) {
        DocumentPage next;
        int which = mPages.indexOf(page);
        int other = which + 1;
        if (other <= getPageCount() - 1) {
            next = mPages.get(which + 1);
        } else {
            openPage();
            next = getLastPage();
        }

        boolean hasFocus = last.hasFocus();
        page.release(last);
        next.takeFirst(last, last.getLayoutParams());
        if (hasFocus) {
            last.post(new Runnable() {
                @Override
                public void run() {
                    last.requestFocus();
                    Utils.showKeyboard(last);
                }
            });
        }
    }
}
 
开发者ID:natario1,项目名称:ViewPrinter,代码行数:46,代码来源:DocumentPager.java

示例13: 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

示例14: arrowScrollFocused

import android.view.View; //导入方法依赖的package包/类
private ArrowScrollFocusResult arrowScrollFocused(int direction) {
    View newFocus;
    View selectedView = getSelectedView();
    if (selectedView == null || !selectedView.hasFocus()) {
        int xSearchPoint;
        if (direction == 130) {
            int listLeft = this.mListPadding.left + (this.mFirstPosition > 0 ? getArrowScrollPreviewLength() : 0);
            if (selectedView == null || selectedView.getLeft() <= listLeft) {
                xSearchPoint = listLeft;
            } else {
                xSearchPoint = selectedView.getLeft();
            }
            this.mTempRect.set(xSearchPoint, 0, xSearchPoint, 0);
        } else {
            int listRight = (getWidth() - this.mListPadding.right) - ((this.mFirstPosition + getChildCount()) + -1 < this.mItemCount ? getArrowScrollPreviewLength() : 0);
            if (selectedView == null || selectedView.getRight() >= listRight) {
                xSearchPoint = listRight;
            } else {
                xSearchPoint = selectedView.getRight();
            }
            this.mTempRect.set(xSearchPoint, 0, xSearchPoint, 0);
        }
        newFocus = FocusFinder.getInstance().findNextFocusFromRect(this, this.mTempRect, direction);
    } else {
        newFocus = FocusFinder.getInstance().findNextFocus(this, selectedView.findFocus(), direction);
    }
    if (newFocus != null) {
        int positionOfNewFocus = positionOfNewFocus(newFocus);
        if (!(this.mSelectedPosition == -1 || positionOfNewFocus == this.mSelectedPosition)) {
            int selectablePosition = lookForSelectablePositionOnScreen(direction);
            if (selectablePosition != -1 && ((direction == 130 && selectablePosition < positionOfNewFocus) || (direction == 33 && selectablePosition > positionOfNewFocus))) {
                return null;
            }
        }
        int focusScroll = amountToScrollToNewFocus(direction, newFocus, positionOfNewFocus);
        int maxScrollAmount = getMaxScrollAmount();
        if (focusScroll < maxScrollAmount) {
            newFocus.requestFocus(direction);
            this.mArrowScrollFocusResult.populate(positionOfNewFocus, focusScroll);
            return this.mArrowScrollFocusResult;
        } else if (distanceToView(newFocus) < maxScrollAmount) {
            newFocus.requestFocus(direction);
            this.mArrowScrollFocusResult.populate(positionOfNewFocus, maxScrollAmount);
            return this.mArrowScrollFocusResult;
        }
    }
    return null;
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:49,代码来源:HListView.java

示例15: showSoftKeyboard

import android.view.View; //导入方法依赖的package包/类
/**
 * Shows the soft keyboard on the current window for the given <var>view</var>.
 *
 * @param view The view for which to show keyboard. If the view does not have focus, it will be
 *             requested for it via {@link View#requestFocus()}.
 * @return {@code True} if keyboard has been shown successfully, {@code false} if the view does
 * not have focus and it did not took it when requested.
 * @see InputMethodManager#showSoftInput(View, int)
 * @see InputMethodManager#SHOW_FORCED
 */
public static boolean showSoftKeyboard(@NonNull View view) {
	if (view.hasFocus() || view.requestFocus()) {
		final InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
		return imm != null && imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
	}
	return false;
}
 
开发者ID:universum-studios,项目名称:android_ui,代码行数:18,代码来源:WidgetUtils.java


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