SpinKitPopupWindow
package widget.spinkit; import android.annotation.SuppressLint; import android.content.Context; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.PopupWindow; import com.github.ybq.android.spinkit.SpinKitView; import com.github.ybq.android.spinkit.SpriteFactory; import com.github.ybq.android.spinkit.Style; import com.github.ybq.android.spinkit.sprite.Sprite; import com.xalikai.bnmdstudentend.R; /** * Created on 2017/11/17. * * @author 郑少鹏 * @desc SpinKitPopupWindow */ public class SpinKitPopupWindow { private static PopupWindow popupWindow; /** * PopupWindow显示 * * @param context 上下文 * @param spinKitStyle spinKitStyle * @param animStyle animStyle * @param view 视图 */ public static void popupShow(Context context, int spinKitStyle, int animStyle, View view) { // 布局 @SuppressLint("InflateParams") View popupView = LayoutInflater.from(context).inflate(R.layout.spin_kit_popup_window, null); // 内容 SpinKitView spinKitView = popupView.findViewById(R.id.spinKitView); Style style = Style.values()[spinKitStyle]; Sprite drawable = SpriteFactory.create(style); spinKitView.setIndeterminateDrawable(drawable); // 创建 popupWindow = new PopupWindow(popupView, 400, 400, false); if (animStyle != 0) { popupWindow.setAnimationStyle(animStyle); } // 显示 popupWindow.showAtLocation(view, Gravity.CENTER, 0, 0); } /** * PopupWindow消失 */ public static void popupDismiss() { if (popupWindow.isShowing()) { popupWindow.dismiss(); popupWindow = null; } } }SpinKitStyle
package widget.spinkit; /** * Created on 2018/12/10. * * @author 郑少鹏 * @desc SpinKitStyle */ public class SpinKitStyle { public static int ROTATING_PLANE = 0; public static int DOUBLE_BOUNCE = 1; public static int WAVE = 2; public static int WANDERING_CUBES = 3; public static int PULSE = 4; public static int CHASING_DOTS = 5; public static int THREE_BOUNCE = 6; public static int CIRCLE = 7; public static int CUBE_GRID = 8; public static int FADING_CIRCLE = 9; public static int FOLDING_CUBE = 10; public static int ROTATING_CIRCLE = 11; public static int MULTIPLE_PULSE = 12; public static int PULSE_RING = 13; public static int MULTIPLE_PULSE_RING = 14; }使用
SpinKitPopupWindow.popupShow(MicroVideoActivity.this, SpinKitStyle.WAVE, 0, voiceRecordTv); SpinKitPopupWindow.popupDismiss();