展会信息港展会大全

Android 启动界面的实现
来源:互联网   发布日期:2016-01-14 10:10:56   浏览:2645次  

导读:01packagewht.android.loading;0203importandroid.content.Context;04importandroid.graphics.Canvas;05importandroid.util.AttributeSet;06importandroid.widget.ImageView;0708publicclassLoadingViewextendsI......

01

package wht.android.loading;

02

03

import android.content.Context;

04

import android.graphics.Canvas;

05

import android.util.AttributeSet;

06

import android.widget.ImageView;

07

08

public class LoadingView extends ImageView implements Runnable

09

{

10

private boolean isStop = false;

11

12

private int[] imageIds;

13

private int index = 0;

14

private int length = 1;

15

16

public LoadingView(Context context)

17

{

18

this(context, null);

19

}

20

21

public LoadingView(Context context, AttributeSet attrs)

22

{

23

super(context, attrs);

24

}

25

26

public void setImageIds(int[] imageId)

27

{

28

this.imageIds = imageId;

29

if(imageIds != null && imageIds.length > 0)

30

{

31

length = imageIds.length;

32

}

33

}

34

35

@Override

36

protected void onDetachedFromWindow()

37

{

38

// TODO Auto-generated method stub

39

super.onDetachedFromWindow();

40

isStop = true;

41

}

42

43

@Override

44

protected void onDraw(Canvas canvas)

45

{

46

// TODO Auto-generated method stub

47

super.onDraw(canvas);

48

if(imageIds != null && imageIds.length > 0)

49

{

50

this.setImageResource(imageIds[index]);

51

}

52

}

53

54

@Override

55

public void run()

56

{

57

while(!isStop)

58

{

59

index = ++index % length;

60

postInvalidate();

61

try

62

{

63

Thread.sleep(400);

64

}

65

catch (InterruptedException e)

66

{

67

e.printStackTrace();

68

}

69

}

70

}

71

72

public void startAnim()

73

{

74

new Thread(this).start();

75

}

76

77

}

01

package wht.android.loading;

02

03

import android.app.Activity;

04

import android.os.Bundle;

05

06

public class MainActivity extends Activity

07

{

08

09

private LoadingView main_imageview;

10

11

@Override

12

public void onCreate(Bundle savedInstanceState)

13

{

14

super.onCreate(savedInstanceState);

15

setContentView(R.layout.main);

16

main_imageview = (LoadingView)findViewById(R.id.main_imageview);

17

initLoadingImages();

18

19

new Thread()

20

{

21

@Override

22

public void run()

23

{

24

main_imageview.startAnim();

25

}

26

}.start();

27

28

}

29

30

private void initLoadingImages()

31

{

32

int[] imageIds = new int[6];

33

imageIds[0] = R.drawable.loader_frame_1;

34

imageIds[1] = R.drawable.loader_frame_2;

35

imageIds[2] = R.drawable.loader_frame_3;

36

imageIds[3] = R.drawable.loader_frame_4;

37

imageIds[4] = R.drawable.loader_frame_5;

38

imageIds[5] = R.drawable.loader_frame_6;

39

40

main_imageview.setImageIds(imageIds);

41

}

42

}

01

<?xml version="1.0" encoding="utf-8"?>

02

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

03

android:orientation="vertical" android:layout_width="fill_parent"

04

android:layout_height="fill_parent" android:background="#e1e1e1">

05

<wht.android.loading.LoadingView

06

android:layout_gravity="center_horizontal"android:layout_height="wrap_content"

07

android:id="@+id/main_imageview"android:src="@drawable/loader_frame_1"

08

android:layout_marginTop="190dp"android:layout_width="wrap_content"

09

></wht.android.loading.LoadingView>

10

11

<TextView

12

android:layout_width="wrap_content"

13

android:layout_height="wrap_content"

14

android:text="启动中..."

15

android:layout_marginTop="10dip"

16

android:textColor="#666666"

17

android:layout_gravity="center_horizontal"

18

android:textSize="20sp"

19

/>

20

</LinearLayout>

赞助本站

人工智能实验室

相关热词: Android启动界面

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港