首页 > 代码库 > app 启动页面

app 启动页面

有的项目在启动需要停留固定的几秒钟,往往这个控制跟需求逻辑是没有多大关系的,所以封装到了一个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
publicclass SplashRootLayout extendsLinearLayout {
 
    publicSplashRootLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    publicSplashRootLayout(Context context) {
        super(context);
    }
 
    @Override
    protectedvoid onDraw(Canvas canvas) {
        super.onDraw(canvas);
        postDelayed(splashRunnable,3000);
    }
 
    privateRunnable splashRunnable = newRunnable() {
        @Override
        publicvoid run() {
            ViewGroup p = (ViewGroup) getParent();
            if(p != null) {
                p.removeView(SplashRootLayout.this);
            }
            if(mSplashDismissListener != null) {
                mSplashDismissListener.onSplashDimiss(SplashRootLayout.this);
            }
        }
    };
 
    publicinterface OnSplashDismissListener {
        publicvoid onSplashDimiss(SplashRootLayout v);
    }
 
    privateOnSplashDismissListener mSplashDismissListener;
 
    publicvoid setOnSpalshDismissListener(OnSplashDismissListener l) {
        mSplashDismissListener = l;
    }
}

[2].[代码] [Java]代码 跳至 [1] [2]

?
1
2
3
4
5
6
7
8
9
10
11
<com.package.SplashRootLayout
    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">
 
    <some splash view/>...
 
</com.package.SplashRootLayout>

app 启动页面