android.view.View#getTransitionName ( )源码实例Demo

下面列出了android.view.View#getTransitionName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: android_9.0.0_r45   文件: BackStackRecord.java
@Override
public FragmentTransaction addSharedElement(View sharedElement, String name) {
    String transitionName = sharedElement.getTransitionName();
    if (transitionName == null) {
        throw new IllegalArgumentException("Unique transitionNames are required for all" +
                " sharedElements");
    }
    if (mSharedElementSourceNames == null) {
        mSharedElementSourceNames = new ArrayList<String>();
        mSharedElementTargetNames = new ArrayList<String>();
    } else if (mSharedElementTargetNames.contains(name)) {
        throw new IllegalArgumentException("A shared element with the target name '"
                + name + "' has already been added to the transaction.");
    } else if (mSharedElementSourceNames.contains(transitionName)) {
        throw new IllegalArgumentException("A shared element with the source name '"
                + transitionName + " has already been added to the transaction.");
    }
    mSharedElementSourceNames.add(transitionName);
    mSharedElementTargetNames.add(name);
    return this;
}
 
public static void findNamedViews(Map<String, View> namedViews, View view) {
    if (view.getVisibility() == View.VISIBLE) {
        String transitionName = view.getTransitionName();
        if (transitionName != null) {
            namedViews.put(transitionName, view);
        }
        if (view instanceof ViewGroup) {
            ViewGroup viewGroup = (ViewGroup) view;
            int count = viewGroup.getChildCount();
            for (int i = 0; i < count; i++) {
                View child = viewGroup.getChildAt(i);
                findNamedViews(namedViews, child);
            }
        }
    }
}
 
源代码3 项目: android_9.0.0_r45   文件: Transition.java
static void addViewValues(TransitionValuesMaps transitionValuesMaps,
        View view, TransitionValues transitionValues) {
    transitionValuesMaps.viewValues.put(view, transitionValues);
    int id = view.getId();
    if (id >= 0) {
        if (transitionValuesMaps.idValues.indexOfKey(id) >= 0) {
            // Duplicate IDs cannot match by ID.
            transitionValuesMaps.idValues.put(id, null);
        } else {
            transitionValuesMaps.idValues.put(id, view);
        }
    }
    String name = view.getTransitionName();
    if (name != null) {
        if (transitionValuesMaps.nameValues.containsKey(name)) {
            // Duplicate transitionNames: cannot match by transitionName.
            transitionValuesMaps.nameValues.put(name, null);
        } else {
            transitionValuesMaps.nameValues.put(name, view);
        }
    }
    if (view.getParent() instanceof ListView) {
        ListView listview = (ListView) view.getParent();
        if (listview.getAdapter().hasStableIds()) {
            int position = listview.getPositionForView(view);
            long itemId = listview.getItemIdAtPosition(position);
            if (transitionValuesMaps.itemIdValues.indexOfKey(itemId) >= 0) {
                // Duplicate item IDs: cannot match by item ID.
                View alreadyMatched = transitionValuesMaps.itemIdValues.get(itemId);
                if (alreadyMatched != null) {
                    alreadyMatched.setHasTransientState(false);
                    transitionValuesMaps.itemIdValues.put(itemId, null);
                }
            } else {
                view.setHasTransientState(true);
                transitionValuesMaps.itemIdValues.put(itemId, view);
            }
        }
    }
}
 
源代码4 项目: android_9.0.0_r45   文件: Transition.java
/**
 * Internal utility method for checking whether a given view/id
 * is valid for this transition, where "valid" means that either
 * the Transition has no target/targetId list (the default, in which
 * cause the transition should act on all views in the hiearchy), or
 * the given view is in the target list or the view id is in the
 * targetId list. If the target parameter is null, then the target list
 * is not checked (this is in the case of ListView items, where the
 * views are ignored and only the ids are used).
 *
 * @hide
 */
public boolean isValidTarget(View target) {
    if (target == null) {
        return false;
    }
    int targetId = target.getId();
    if (mTargetIdExcludes != null && mTargetIdExcludes.contains(targetId)) {
        return false;
    }
    if (mTargetExcludes != null && mTargetExcludes.contains(target)) {
        return false;
    }
    if (mTargetTypeExcludes != null && target != null) {
        int numTypes = mTargetTypeExcludes.size();
        for (int i = 0; i < numTypes; ++i) {
            Class type = mTargetTypeExcludes.get(i);
            if (type.isInstance(target)) {
                return false;
            }
        }
    }
    if (mTargetNameExcludes != null && target != null && target.getTransitionName() != null) {
        if (mTargetNameExcludes.contains(target.getTransitionName())) {
            return false;
        }
    }
    if (mTargetIds.size() == 0 && mTargets.size() == 0 &&
            (mTargetTypes == null || mTargetTypes.isEmpty()) &&
            (mTargetNames == null || mTargetNames.isEmpty())) {
        return true;
    }
    if (mTargetIds.contains(targetId) || mTargets.contains(target)) {
        return true;
    }
    if (mTargetNames != null && mTargetNames.contains(target.getTransitionName())) {
        return true;
    }
    if (mTargetTypes != null) {
        for (int i = 0; i < mTargetTypes.size(); ++i) {
            if (mTargetTypes.get(i).isInstance(target)) {
                return true;
            }
        }
    }
    return false;
}
 
源代码5 项目: WanAndroid   文件: ViewHelper.java
@SuppressWarnings("WeakerAccess") @Nullable
public static String getTransitionName(@NonNull View view) {
    return !InputHelper.isEmpty(view.getTransitionName()) ? view.getTransitionName() : null;
}
 
源代码6 项目: letv   文件: ViewCompatLollipop.java
public static String getTransitionName(View view) {
    return view.getTransitionName();
}
 
源代码7 项目: mvvm-template   文件: ViewHelper.java
@SuppressWarnings("WeakerAccess") @Nullable public static String getTransitionName(@NonNull View view) {
    return !InputHelper.isEmpty(view.getTransitionName()) ? view.getTransitionName() : null;
}
 
源代码8 项目: adt-leanback-support   文件: ViewCompatApi21.java
public static String getTransitionName(View view) {
    return view.getTransitionName();
}
 
public static String getTransitionName(View view) {
    return view.getTransitionName();
}
 
源代码10 项目: Transitions-Everywhere   文件: ViewUtilsLollipop.java
@Override
@Nullable
public String getTransitionName(@NonNull View v) {
    return v.getTransitionName();
}
 
/**
 * Puts a shared element to transitions and names.
 *
 * @param names The names for this transition.
 * @param sharedElements The elements for this transition.
 * @param view The view to add.
 */
private void mapSharedElement(List<String> names, Map<String, View> sharedElements, View view) {
    String transitionName = view.getTransitionName();
    names.add(transitionName);
    sharedElements.put(transitionName, view);
}
 
源代码12 项目: atlas   文件: DetailSharedElementEnterCallback.java
/**
 * Puts a shared element to transitions and names.
 *
 * @param names The names for this transition.
 * @param sharedElements The elements for this transition.
 * @param view The view to add.
 */
private void mapSharedElement(List<String> names, Map<String, View> sharedElements, View view) {
    String transitionName = view.getTransitionName();
    names.add(transitionName);
    sharedElements.put(transitionName, view);
}
 
/**
 * Puts a shared element to transitions and names.
 *
 * @param names The names for this transition.
 * @param sharedElements The elements for this transition.
 * @param view The view to add.
 */
private void mapSharedElement(List<String> names, Map<String, View> sharedElements, View view) {
    String transitionName = view.getTransitionName();
    names.add(transitionName);
    sharedElements.put(transitionName, view);
}
 
 方法所在类
 同类方法