android.support.v4.app.ActivityCompat#startActivity ( )源码实例Demo

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

源代码1 项目: Panoramic-Screenshot   文件: ImageAdapter.java
@Override
public void onClick(View v) {
	
	if (file == null) return;
	
	if (v == image) {
		Intent i = new Intent(mContext, PictureActivity.class);
		i.putExtra(PictureActivity.EXTRA_FILE, file.getAbsolutePath());
		
		if (mContext instanceof Activity) {
			ActivityOptionsCompat o = ActivityOptionsCompat.makeSceneTransitionAnimation(
				(Activity) mContext, image, PictureActivity.TRANSIT_PIC);
			ActivityCompat.startActivity((Activity) mContext, i, o.toBundle());
		} else {
			mContext.startActivity(i);
		}
	}
}
 
源代码2 项目: SimpleNews   文件: NewsListFragment.java
@Override
public void onItemClick(View view, int position) {
    if (mData.size() <= 0) {
        return;
    }
    NewsBean news = mAdapter.getItem(position);
    Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
    intent.putExtra("news", news);

    View transitionView = view.findViewById(R.id.ivNews);
    ActivityOptionsCompat options =
            ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                    transitionView, getString(R.string.transition_news_img));

    ActivityCompat.startActivity(getActivity(), intent, options.toBundle());
}
 
@Override
public void onItemSelected(Uri contentUri, ForecastAdapter.ForecastAdapterViewHolder vh) {
    if (mTwoPane) {
        // In two-pane mode, show the detail view in this activity by
        // adding or replacing the detail fragment using a
        // fragment transaction.
        Bundle args = new Bundle();
        args.putParcelable(DetailFragment.DETAIL_URI, contentUri);

        DetailFragment fragment = new DetailFragment();
        fragment.setArguments(args);

        getSupportFragmentManager().beginTransaction()
                .replace(R.id.weather_detail_container, fragment, DETAILFRAGMENT_TAG)
                .commit();
    } else {
        Intent intent = new Intent(this, DetailActivity.class)
                .setData(contentUri);

        ActivityOptionsCompat activityOptions =
                ActivityOptionsCompat.makeSceneTransitionAnimation(this,
                        new Pair<View, String>(vh.mIconView, getString(R.string.detail_icon_transition_name)));
        ActivityCompat.startActivity(this, intent, activityOptions.toBundle());
    }
}
 
源代码4 项目: ZZShow   文件: PhotoFragment.java
@Override
public void OnItemClickListener(View view, int position) {
    List<PhotoGirl> list = mAdapter.getList();
    Intent intent = PhotoDetailActivity.getPhotoDetailIntent(getContext(),list.get(position).getUrl());
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        ImageView animationIv = (ImageView) view.findViewById(R.id.photo_iv);
        ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(
                getActivity(),
                animationIv,
                Constants.TRANSITION_ANIMATION_NEWS_PHOTOS);
        startActivity(intent,options.toBundle());
    }else{
        ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeScaleUpAnimation(
                view,
                view.getWidth() / 2,
                view.getHeight() / 2,
                0,
                0);
        ActivityCompat.startActivity(getActivity(),intent,optionsCompat.toBundle());
    }
}
 
源代码5 项目: Tok-Android   文件: BasePageJump.java
protected static void jumpWithTransition(Context context, Intent intent,
    Pair<View, String>... sharedElements) {
    if (context instanceof Activity
        && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
        && sharedElements != null
        && sharedElements.length > 0) {
        ActivityOptionsCompat compat =
            ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context,
                sharedElements);
        ActivityCompat.startActivity(context, intent, compat.toBundle());
    } else {
        jump(context, intent);
    }
}
 
源代码6 项目: v9porn   文件: HuaBanFragment.java
public void startOptionsActivity(Activity activity, View transitionView, int position, String url) {
    Intent intent = new Intent(activity, PhotoImageActivity.class);
    intent.putExtra("imgurl", url);
    // 这里指定了共享的视图元素
    ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, OPTION_IMAGE);
    ActivityCompat.startActivity(activity, intent, options.toBundle());
}
 
/**
 * 当你需要当前界面中的某个元素和新界面中的元素有关时,你可以使用这个动画
 */
public void showSceneAnim(View view) {
    sIsSceneAnim = true;
    if (mTestSwitch) {
        ActivityOptionsCompat optionsCompat
                = ActivityOptionsCompat.makeSceneTransitionAnimation(
                OptionsCompatDemoActivity.this,
                view,
                view.toString()
        );
        ActivityCompat.startActivity(
                OptionsCompatDemoActivity.this,
                mIntent,
                optionsCompat.toBundle());
    } else {
        ActivityOptionsCompatICS optionsCompatICS
                = ActivityOptionsCompatICS.makeSceneTransitionAnimation(
                OptionsCompatDemoActivity.this,
                view,
                view.getId()
        );
        ActivityCompatICS.startActivity(
                OptionsCompatDemoActivity.this,
                mIntent,
                optionsCompatICS.toBundle());
    }
}
 
源代码8 项目: materialup   文件: Launcher.java
public static void openPhoteView(Activity activity, Post shot, View view) {
    Intent intent = new Intent(activity, PhotoActivity.class);

    intent.putExtra(EXTRA_URL, shot.getImageUrl());
    intent.putExtra(EXTRA_TITLE, shot.getTitle());
    intent.putExtra(EXTRA_PRE_URL, shot.getTeaserUrl());
    String name = activity.getString(R.string.transition_shot);
    ViewCompat.setTransitionName(view, name);
    ActivityOptionsCompat options =
            ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
                    Pair.create(view, name));

    ActivityCompat.startActivity(activity, intent, options.toBundle());
}
 
源代码9 项目: AppPlus   文件: AppListFragment.java
@Override
public void onClickListItemContent(View view, AppEntity entity) {
    Intent intent = new Intent(getContext(), AppOperateActivity.class);
    intent.putExtra(AppOperateActivity.EXTRA_APP_ENTITY, entity);
    ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(
            getActivity(),
            new Pair<View, String>(view.findViewById(R.id.iv_icon),
                    AppOperateActivity.VIEW_NAME_HEADER_IMAGE));

    // Now we can start the Activity, providing the activity options as a bundle
    ActivityCompat.startActivity(getActivity(), intent, activityOptions.toBundle());
}
 
源代码10 项目: apkextractor   文件: ImportFragment.java
@Override
public void onItemClicked(ImportItem importItem, RecyclerViewAdapter.ViewHolder viewHolder, int position) {
    if(getActivity()==null)return;
    Intent intent =new Intent(getActivity(), PackageDetailActivity.class);
    //intent.putExtra(PackageDetailActivity.EXTRA_IMPORT_ITEM_POSITION,position);
    intent.putExtra(PackageDetailActivity.EXTRA_IMPORT_ITEM_PATH,importItem.getFileItem().getPath());
    ActivityOptionsCompat compat = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),new Pair<View, String>(viewHolder.icon,"icon"));
    try{
        ActivityCompat.startActivity(getActivity(), intent, compat.toBundle());
    }catch (Exception e){e.printStackTrace();}
}
 
源代码11 项目: cast-videos-android   文件: VideoBrowserFragment.java
@Override
public void itemClicked(View view, MediaItem item, int position) {
    String transitionName = getString(R.string.transition_image);
    VideoListAdapter.ViewHolder viewHolder =
            (VideoListAdapter.ViewHolder) mRecyclerView.findViewHolderForPosition(position);
    Pair<View, String> imagePair = Pair
            .create((View) viewHolder.getImageView(), transitionName);
    ActivityOptionsCompat options = ActivityOptionsCompat
            .makeSceneTransitionAnimation(getActivity(), imagePair);

    Intent intent = new Intent(getActivity(), LocalPlayerActivity.class);
    intent.putExtra("media", item.toBundle());
    intent.putExtra("shouldStart", false);
    ActivityCompat.startActivity(getActivity(), intent, options.toBundle());
}
 
源代码12 项目: NHentai-android   文件: BookDetailsActivity.java
public static void launch(Activity activity, ImageView imageView, Book book) {
	ActivityOptionsCompat options = ActivityOptionsCompat
			.makeSceneTransitionAnimation(activity, imageView, TRANSITION_NAME_IMAGE);
	Intent intent = new Intent(activity, BookDetailsActivity.class);
	intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
	intent.putExtra(EXTRA_BOOK_DATA, book.toJSONString());
	ActivityCompat.startActivity(activity, intent, options.toBundle());
}
 
public void launch(Intent intent) {

        intent.putExtras(createBundle());
        if (Build.VERSION.SDK_INT >= 16) {
            ActivityCompat.startActivity(activity, intent, createOptions());
            return;
        }
        activity.startActivity(intent);
        activity.overridePendingTransition(0, 0);
    }
 
源代码14 项目: MaterialTransitionAnimation   文件: MainActivity.java
@Override
public void onClick(View v, int position) {
    Intent intent = new Intent(MainActivity.this, DetailActivity.class);
    intent.putExtra("item", items.get(position));
    ActivityOptionsCompat options =

            ActivityOptionsCompat.makeSceneTransitionAnimation(this, v, getString(R.string.transition_item));
    ActivityCompat.startActivity(this, intent, options.toBundle());
}
 
源代码15 项目: NewsMe   文件: NewsChannelFragment.java
@Override
public void onImageClick(NewsAdapter.ViewHolder holder, ImageView iv, Image[] images, int index) {
    Intent intent = new Intent(getContext(), ViewerActivity.class);
    intent.putExtra(ViewerActivity.INTENT_POSTTION, holder.getAdapterPosition());
    intent.putExtra(ViewerActivity.INTENT_INDEX, index);
    intent.putExtra(ViewerActivity.INTENT_IMAGES, images);
    // 兼容旧版本
    ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), iv, String.format("%s.image", images[index].url));
    ActivityCompat.startActivity(getActivity(), intent, options.toBundle());
}
 
/**
 * 这里可以用多个元素或者是单个元素进行动画,这里用了多个元素。为了保证动画效果,这里进行了渐变操作,
 * 在handle中进行了恢复操作,这样让动画看起来平滑了很多
 * @param views
 */
private void screenTransitAnimByPair(Pair<View, Integer>... views) {
    sIsSceneAnim = true;
    if (mTestSwitch) {
        Pair<View, String>[] tViews = new Pair[views.length];
        int i = 0;
        for (Pair<View, Integer> view : views) {
            tViews[i] = new Pair<>(view.first, view.second.toString());
            i++;
        }
        ActivityOptionsCompat optionsCompat
                = ActivityOptionsCompat.makeSceneTransitionAnimation(
                OptionsCompatDemoActivity.this,
                tViews
        );
        ActivityCompat.startActivity(
                OptionsCompatDemoActivity.this,
                mIntent,
                optionsCompat.toBundle()
        );
    } else {
        ActivityOptionsCompatICS optionsCompatICS
                = ActivityOptionsCompatICS.makeSceneTransitionAnimation(
                OptionsCompatDemoActivity.this,
                views
        );
        ActivityCompatICS.startActivity(
                OptionsCompatDemoActivity.this,
                mIntent,
                optionsCompatICS.toBundle()
        );
    }
}
 
源代码17 项目: yahnac   文件: Navigator.java
public void toNews() {
    Intent newsIntent = new Intent(activity, NewsActivity.class);
    newsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    ActivityCompat.startActivity(activity, newsIntent, null);
    activity.overridePendingTransition(0, 0);
    activity.finish();
}
 
源代码18 项目: gank   文件: MeiziAdapter.java
@OnClick(R.id.iv_meizi)
void meiziClick() {
    ShareElement.shareDrawable = ivMeizi.getDrawable();
    Intent intent = new Intent(context, MeiZhiActivity.class);
    intent.putExtra(GankConfig.MEIZI, (Serializable) card.getTag());
    ActivityOptionsCompat optionsCompat = ActivityOptionsCompat
            .makeSceneTransitionAnimation((Activity) context, ivMeizi, GankConfig.TRANSLATE_GIRL_VIEW);
    ActivityCompat.startActivity((Activity) context, intent, optionsCompat.toBundle());
}
 
源代码19 项目: VideoOS-Android-SDK   文件: VenvyRouterHelper.java
private static void navigation(Context context, final ViewGroup viewGroup, @NonNull final String role, final Bundle bundle, final IRouterCallback callback) throws Exception {
    if (sFinders == null || sFinders.size() <= 0) {
        VenvyLog.d("Router", "begin navigation but sFinders is null");
    }
    for (IRouterFinder finder : sFinders) {
        String roleValue = finder.findRole(role);
        if (TextUtils.isEmpty(roleValue)) {
            continue;
        }
        if (TextUtils.isEmpty(roleValue)) {
            throw new RouteException("route result is not found");
        }
        RouteRoleCase routeRoleCase = parseJsonStringToCase(roleValue);
        if (routeRoleCase == null) {
            throw new RouteException("route result is not found");
        }
        if (TextUtils.isEmpty(routeRoleCase.className)) {
            throw new RouteException("route class not found");
        }
        if (routeRoleCase.type == RouteType.UNKNOWN) {
            throw new RouteException("route type is unknown");
        }
        Class tClass = VenvyReflectUtil.getClass(routeRoleCase.className);
        if (tClass == null) {
            throw new RouteException("route target class init error");
        }
        switch (routeRoleCase.type) {
            case ACTIVITY:
                Intent intent = new Intent(context, tClass);
                intent.putExtras(bundle);
                ActivityCompat.startActivity(context, intent, bundle);
                if (callback != null) {
                    callback.arrived();
                }
                break;
            case VIEW:
                View view = null;
                if (bundle != null && viewGroup != null) {
                    String viewID = bundle.getString("id");
                    if (!TextUtils.isEmpty(viewID)) {
                        View oldView = viewGroup.findViewWithTag(viewID);
                        if (oldView != null) {
                            oldView.setVisibility(View.VISIBLE);
                            oldView.bringToFront();
                            injectView(oldView, bundle);
                            invokeRunMethod(oldView);
                            VenvyLog.d("Router", "navigation running, but view has init and viewID is " + viewID);
                            return;
                        }
                    }
                }
                Constructor<? extends View> constructor = tClass.getDeclaredConstructor(Context.class);
                if (constructor != null) {
                    view = constructor.newInstance(context);
                }
                if (view == null) {
                    throw new RouteException("route target view init error");
                }
                //方法赋值
                injectView(view, bundle);
                invokeRunMethod(view);
                if (viewGroup != null) {
                    addViewByPriority(viewGroup, view);
                    VenvyLog.d("Router", "navigation running, init view and addView to viewGroup");
                }
                if (callback != null) {
                    callback.arrived();
                }
                break;
            case SERVICE:
                Intent intentService = new Intent(context, tClass);
                intentService.putExtras(bundle);
                context.startService(intentService);
                if (callback != null) {
                    callback.arrived();
                }
                break;

            case OBJECT:
                Object object = tClass.newInstance();
                if (object == null) {
                    return;
                }
                if (callback != null) {
                    callback.arrived();
                }
                //方法赋值
                injectView(object, bundle);
                invokeRunMethod(object);
                break;
        }
    }
    VenvyLog.d("Router", "navigation end and uri is " + role);
}
 
源代码20 项目: Silence   文件: BaseActionBarActivity.java
protected void startActivitySceneTransition(Intent intent, View sharedView, String transitionName) {
  Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(this, sharedView, transitionName)
                                       .toBundle();
  ActivityCompat.startActivity(this, intent, bundle);
}