有的项目在启动需要停留固定的几秒钟,往往这个控制跟需求逻辑是没有多大关系的,所以封装到了一个view组建中
标签: Android
[1].[代码] [Java]代码 跳至 [1] [2]
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
public class SplashRootLayout extends LinearLayout {
public SplashRootLayout(Context context, AttributeSet attrs) { super (context, attrs); }
public SplashRootLayout(Context context) { super (context); }
@Override protected void onDraw(Canvas canvas) { super .onDraw(canvas); postDelayed(splashRunnable, 3000 ); }
private Runnable splashRunnable = new Runnable() { @Override public void run() { ViewGroup p = (ViewGroup) getParent(); if (p != null ) { p.removeView(SplashRootLayout. this ); } if (mSplashDismissListener != null ) { mSplashDismissListener.onSplashDimiss(SplashRootLayout. this ); } } };
public interface OnSplashDismissListener { public void onSplashDimiss(SplashRootLayout v); }
private OnSplashDismissListener mSplashDismissListener;
public void setOnSpalshDismissListener(OnSplashDismissListener l) { mSplashDismissListener = l; } } |
[2].[代码] [Java]代码 跳至 [1] [2]
?
1 2 3 4 5 6 7 8 9 10 11 |
android:id= "@+id/splash_view" android:layout_width= "match_parent" android:layout_height= "match_parent" android:background= "@color/white" android:gravity= "center_horizontal" android:orientation= "vertical" > |