Java Code Examples for android.view.View#getTransitionName()

The following examples show how to use android.view.View#getTransitionName() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BackStackRecord.java    From android_9.0.0_r45 with Apache License 2.0 6 votes vote down vote up
@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;
}
 
Example 2
Source File: FragmentTransitionCompat21.java    From adt-leanback-support with Apache License 2.0 6 votes vote down vote up
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);
            }
        }
    }
}
 
Example 3
Source File: Transition.java    From android_9.0.0_r45 with Apache License 2.0 5 votes vote down vote up
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);
            }
        }
    }
}
 
Example 4
Source File: Transition.java    From android_9.0.0_r45 with Apache License 2.0 4 votes vote down vote up
/**
 * 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;
}
 
Example 5
Source File: ViewHelper.java    From WanAndroid with GNU General Public License v3.0 4 votes vote down vote up
@SuppressWarnings("WeakerAccess") @Nullable
public static String getTransitionName(@NonNull View view) {
    return !InputHelper.isEmpty(view.getTransitionName()) ? view.getTransitionName() : null;
}
 
Example 6
Source File: ViewCompatLollipop.java    From letv with Apache License 2.0 4 votes vote down vote up
public static String getTransitionName(View view) {
    return view.getTransitionName();
}
 
Example 7
Source File: ViewHelper.java    From mvvm-template with GNU General Public License v3.0 4 votes vote down vote up
@SuppressWarnings("WeakerAccess") @Nullable public static String getTransitionName(@NonNull View view) {
    return !InputHelper.isEmpty(view.getTransitionName()) ? view.getTransitionName() : null;
}
 
Example 8
Source File: ViewCompatApi21.java    From adt-leanback-support with Apache License 2.0 4 votes vote down vote up
public static String getTransitionName(View view) {
    return view.getTransitionName();
}
 
Example 9
Source File: FragmentTransitionCompat21.java    From adt-leanback-support with Apache License 2.0 4 votes vote down vote up
public static String getTransitionName(View view) {
    return view.getTransitionName();
}
 
Example 10
Source File: ViewUtilsLollipop.java    From Transitions-Everywhere with Apache License 2.0 4 votes vote down vote up
@Override
@Nullable
public String getTransitionName(@NonNull View v) {
    return v.getTransitionName();
}
 
Example 11
Source File: DetailSharedElementEnterCallback.java    From animation-samples with Apache License 2.0 2 votes vote down vote up
/**
 * 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);
}
 
Example 12
Source File: DetailSharedElementEnterCallback.java    From atlas with Apache License 2.0 2 votes vote down vote up
/**
 * 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);
}
 
Example 13
Source File: DetailSharedElementEnterCallback.java    From android-instant-apps with Apache License 2.0 2 votes vote down vote up
/**
 * 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);
}