android.view.ViewGroup#setLayoutTransition ( )源码实例Demo

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

private void doLayoutAnimator() {
    LayoutTransition layoutTransition = new LayoutTransition();

    layoutTransition.setAnimator(LayoutTransition.APPEARING, getObjectAnimator(false));
    layoutTransition.setAnimator(LayoutTransition.DISAPPEARING, getObjectAnimator(true));
    layoutTransition.setDuration(2000);

    //mPuppet's parentView
    ViewGroup contentView = (ViewGroup) ((ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0);
    contentView.setLayoutTransition(layoutTransition);
    if (contentView.findViewById(R.id.view_puppet) == null) {
        contentView.addView(mPuppet);
    } else {
        contentView.removeView(mPuppet);
    }
}
 
private void doLayoutAnimator() {
    LayoutTransition layoutTransition = new LayoutTransition();

    layoutTransition.setAnimator(LayoutTransition.APPEARING, getObjectAnimator(false));
    layoutTransition.setAnimator(LayoutTransition.DISAPPEARING, getObjectAnimator(true));
    layoutTransition.setDuration(2000);

    //mPuppet's parentView
    ViewGroup contentView = (ViewGroup) ((ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0);
    contentView.setLayoutTransition(layoutTransition);
    if (contentView.findViewById(R.id.view_puppet) == null) {
        contentView.addView(mPuppet);
    } else {
        contentView.removeView(mPuppet);
    }
}
 
源代码3 项目: hashtag-view   文件: HashtagView.java
private void draw() {
    if (viewMap == null || viewMap.isEmpty()) return;
    removeAllViews();

    List<Integer> keys = new ArrayList<>(viewMap.keySet());
    Collections.sort(keys);

    for (Integer key : keys) {
        ViewGroup rowLayout = getRowLayout(viewMap.get(key).size());
        addView(rowLayout);
        applyDistribution(viewMap.get(key));
        rowLayout.setLayoutTransition(layoutTransition);

        for (ItemData item : viewMap.get(key)) {
            releaseParent(item.view);
            rowLayout.addView(item.view, itemLayoutParams);
        }
    }
    keys.clear();
}
 
源代码4 项目: MiBandDecompiled   文件: AnimUtil.java
public static void infoSwitch(ViewGroup viewgroup, ViewGroup viewgroup1)
{
    viewgroup.setLayoutTransition(null);
    viewgroup1.setLayoutTransition(null);
    dismissChildren(viewgroup);
    showChildren(viewgroup1);
}
 
源代码5 项目: nfcard   文件: Toolbar.java
@SuppressLint("NewApi")
public Toolbar(ViewGroup toolbar) {

	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
		toolbar.setLayoutTransition(new LayoutTransition());

	this.toolbar = toolbar;
}
 
源代码6 项目: NFCard   文件: Toolbar.java
@SuppressLint("NewApi")
public Toolbar(ViewGroup toolbar) {

	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
		toolbar.setLayoutTransition(new LayoutTransition());

	this.toolbar = toolbar;
}
 
源代码7 项目: debugdrawer   文件: DebugView.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private static void enableLayoutTransitions(ViewGroup viewGroup) {
	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
		// Remove the status bar color. The DrawerLayout is responsible for drawing it from now on.
		LayoutTransition lt = new LayoutTransition();
		lt.enableTransitionType(LayoutTransition.CHANGING);
		viewGroup.setLayoutTransition(lt);
	} else {
		Timber.w("Error enabling LayoutTransitions, only supported for API14+.");
	}
}
 
@Override
public void addView(@NonNull View child, int left, int top) {
    if (child.getParent() instanceof ViewGroup) {
        ViewGroup parent = (ViewGroup) child.getParent();
        LayoutTransition layoutTransition = null;
        if (parent.getLayoutTransition() != null) {
            layoutTransition = parent.getLayoutTransition();
            parent.setLayoutTransition(null);
        }
        parent.removeView(child);
        if (layoutTransition != null) {
            parent.setLayoutTransition(layoutTransition);
        }

        if (child.getParent() != null) {
            // LayoutTransition will cause the child to delay removal - cancel it
            ViewGroupUtils.cancelLayoutTransition(parent);
            // fail-safe if view is still attached for any reason
            if (child.getParent() != null && FIELD_VIEW_PARENT != null) {
                ReflectionUtils.setFieldValue(child, FIELD_VIEW_PARENT, null);
            }
        }
        if (child.getParent() != null) {
            return;
        }
    }
    child.setTag(R.id.overlay_layout_params_backup, child.getLayoutParams());
    addView(child, initParams(child, left, top));
    invalidate();
}
 
源代码9 项目: codeexamples-android   文件: MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	LayoutTransition l = new LayoutTransition();
	l.enableTransitionType(LayoutTransition.CHANGING);
	viewGroup = (ViewGroup) findViewById(R.id.container);
	viewGroup.setLayoutTransition(l);

}
 
源代码10 项目: xipl   文件: ChannelSetupFragment.java
@Override
public View onCreateView(
        LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(getLayoutResourceId(), container, false);
    // Make sure this view is focused
    view.requestFocus();
    mProgressBar = (ProgressBar) view.findViewById(R.id.tune_progress);
    mScanningMessage = (TextView) view.findViewById(R.id.tune_description);
    mTitle = (TextView) view.findViewById(R.id.tune_title);
    mBadge = (ImageView) view.findViewById(R.id.tune_icon);
    mChannelHolder = view.findViewById(R.id.channel_holder);
    mCancelButton = (Button) view.findViewById(R.id.tune_cancel);

    ListView channelList = (ListView) view.findViewById(R.id.channel_list);
    mAdapter = new ChannelAdapter();
    channelList.setAdapter(mAdapter);
    channelList.setOnItemClickListener(null);

    ViewGroup progressHolder = (ViewGroup) view.findViewById(R.id.progress_holder);
    LayoutTransition transition = new LayoutTransition();
    transition.enableTransitionType(LayoutTransition.CHANGING);
    progressHolder.setLayoutTransition(transition);

    mCancelButton.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    finishScan();
                }
            });
    mSyncStatusChangedReceiver = new SyncStatusBroadcastReceiver(getInputId(), this);
    LocalBroadcastManager.getInstance(getActivity())
            .registerReceiver(
                    mSyncStatusChangedReceiver,
                    new IntentFilter(EpgSyncJobService.ACTION_SYNC_STATUS_CHANGED));

    mChannelScanLayout = view;
    setChannelListVisibility(false);
    setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark));
    return view;
}
 
源代码11 项目: MiBandDecompiled   文件: AnimUtil.java
public static void animInfoSwitch(ViewGroup viewgroup, ViewGroup viewgroup1)
{
    int i1 = 0;
    if (b == null)
    {
        b = a();
    }
    if (c == null)
    {
        c = a();
    }
    viewgroup.setLayoutTransition(b);
    viewgroup1.setLayoutTransition(c);
    viewgroup1.setVisibility(0);
    int j1 = viewgroup.getChildCount();
    int k1 = 0;
    int l1 = 0;
    for (; k1 < j1; k1++)
    {
        View view1 = viewgroup.getChildAt(k1);
        if (k1 * (100 - k1 * 10) > l1)
        {
            l1 = k1 * (100 - k1 * 10);
        }
        viewgroup.postDelayed(new m(view1), l1);
        if (k1 == j1 - 1)
        {
            viewgroup.postDelayed(new b(viewgroup), l1 + 90);
        }
    }

    int i2 = viewgroup1.getChildCount();
    int j2 = 0;
    for (; i1 < i2; i1++)
    {
        View view = viewgroup1.getChildAt(i1);
        if (i1 * (100 - i1 * 10) > j2)
        {
            j2 = i1 * (100 - i1 * 10);
        }
        viewgroup1.postDelayed(new c(view), j2);
    }

}
 
@Override
public View onCreateView(
        LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(getLayoutResourceId(), container, false);
    // Make sure this view is focused
    view.requestFocus();
    mProgressBar = (ProgressBar) view.findViewById(R.id.tune_progress);
    mScanningMessage = (TextView) view.findViewById(R.id.tune_description);
    mTitle = (TextView) view.findViewById(R.id.tune_title);
    mBadge = (ImageView) view.findViewById(R.id.tune_icon);
    mChannelHolder = view.findViewById(R.id.channel_holder);
    mCancelButton = (Button) view.findViewById(R.id.tune_cancel);

    ListView channelList = (ListView) view.findViewById(R.id.channel_list);
    mAdapter = new ChannelAdapter();
    channelList.setAdapter(mAdapter);
    channelList.setOnItemClickListener(null);

    ViewGroup progressHolder = (ViewGroup) view.findViewById(R.id.progress_holder);
    LayoutTransition transition = new LayoutTransition();
    transition.enableTransitionType(LayoutTransition.CHANGING);
    progressHolder.setLayoutTransition(transition);

    mCancelButton.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    finishScan();
                }
            });
    mSyncStatusChangedReceiver = new SyncStatusBroadcastReceiver(getInputId(), this);
    LocalBroadcastManager.getInstance(getActivity())
            .registerReceiver(
                    mSyncStatusChangedReceiver,
                    new IntentFilter(EpgSyncJobService.ACTION_SYNC_STATUS_CHANGED));

    mChannelScanLayout = view;
    setChannelListVisibility(false);
    setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark));
    return view;
}
 
 方法所在类