Java tutorial
/* * Copyright 2016. SHENQINCI(?)<946736079@qq.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.gc.markdown.utils; import android.app.Activity; import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Build; import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityOptionsCompat; import android.view.View; public class ViewUtils { /** * Set view alpha * ? * * @param view view * @param alpha alpha value */ public static void setAlpha(View view, float alpha) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { view.setAlpha(alpha); } else { Drawable drawable = view.getBackground(); if (drawable != null) { drawable.setAlpha((int) (alpha * 255)); } } } /** * ?AndroidAPIView * According to the Android version, calls the Settings in the View background method of version API * * @param view view * @param drawable drawable */ public static void setViewBackgroundDrawable(View view, Drawable drawable) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { view.setBackground(drawable); } else { view.setBackgroundDrawable(drawable); } } /** * ?View????? * obtain the absolute coordinates to obtain the View within the current window * * @param view view * @return int[] x y */ public static int[] getLocationInWindow(View view) { int[] location = new int[2]; view.getLocationInWindow(location); return location; } /** * ?View???? * obtain access to View the absolute coordinates of within the entire screen * * @param view view * @return int[] x y */ public static int[] getLocationOnScreen(View view) { int[] location = new int[2]; view.getLocationOnScreen(location); return location; } public static void startActivity(Intent intent, Activity activity, View sharedElement, String sharedElementName) { ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElement, sharedElementName); try { ActivityCompat.startActivity(activity, intent, optionsCompat.toBundle()); //? } catch (IllegalArgumentException e) { activity.startActivity(intent);// ? } } }