android 程序初始化界面.. .
16lz
2021-01-23
转自:http://menjoy.iteye.com/blog/1255291
启动界面的效果图:
启动界面
主要的实现类LoadingView :
- packagewht.android.loading;
- importandroid.content.Context;
- importandroid.graphics.Canvas;
- importandroid.util.AttributeSet;
- importandroid.widget.ImageView;
- publicclassLoadingViewextendsImageViewimplementsRunnable
- {
- privatebooleanisStop=false;
- privateint[]imageIds;
- privateintindex=0;
- privateintlength=1;
- publicLoadingView(Contextcontext)
- {
- this(context,null);
- }
- publicLoadingView(Contextcontext,AttributeSetattrs)
- {
- super(context,attrs);
- }
- publicvoidsetImageIds(int[]imageId)
- {
- this.imageIds=imageId;
- if(imageIds!=null&&imageIds.length>0)
- {
- length=imageIds.length;
- }
- }
- @Override
- protectedvoidonDetachedFromWindow()
- {
- //TODOAuto-generatedmethodstub
- super.onDetachedFromWindow();
- isStop=true;
- }
- @Override
- protectedvoidonDraw(Canvascanvas)
- {
- //TODOAuto-generatedmethodstub
- super.onDraw(canvas);
- if(imageIds!=null&&imageIds.length>0)
- {
- this.setImageResource(imageIds[index]);
- }
- }
- @Override
- publicvoidrun()
- {
- while(!isStop)
- {
- index=++index%length;
- postInvalidate();
- try
- {
- Thread.sleep(400);
- }
- catch(InterruptedExceptione)
- {
- e.printStackTrace();
- }
- }
- }
- publicvoidstartAnim()
- {
- newThread(this).start();
- }
- }
MainActivity:
- packagewht.android.loading;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- publicclassMainActivityextendsActivity
- {
- privateLoadingViewmain_imageview;
- @Override
- publicvoidonCreate(BundlesavedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- main_imageview=(LoadingView)findViewById(R.id.main_imageview);
- initLoadingImages();
- newThread()
- {
- @Override
- publicvoidrun()
- {
- main_imageview.startAnim();
- }
- }.start();
- }
- privatevoidinitLoadingImages()
- {
- int[]imageIds=newint[6];
- imageIds[0]=R.drawable.loader_frame_1;
- imageIds[1]=R.drawable.loader_frame_2;
- imageIds[2]=R.drawable.loader_frame_3;
- imageIds[3]=R.drawable.loader_frame_4;
- imageIds[4]=R.drawable.loader_frame_5;
- imageIds[5]=R.drawable.loader_frame_6;
- main_imageview.setImageIds(imageIds);
- }
- }
布局文件main.xml
Java代码- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"android:layout_width="fill_parent"
- android:layout_height="fill_parent"android:background="#e1e1e1">
- <wht.android.loading.LoadingView
- android:layout_gravity="center_horizontal"android:layout_height="wrap_content"
- android:id="@+id/main_imageview"android:src="@drawable/loader_frame_1"
- android:layout_marginTop="190dp"android:layout_width="wrap_content"
- ></wht.android.loading.LoadingView>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="启动中..."
- android:layout_marginTop="10dip"
- android:textColor="#666666"
- android:layout_gravity="center_horizontal"
- android:textSize="20sp"
- />
- </LinearLayout>
更多相关文章
- Android 混淆代码的时候出现问题
- 有关android安全性的问题--代码混淆
- Android NDK so crash,定位目标代码使用
- [置顶] android俄罗斯方块完整代码
- Android中自定义Toast显示在其他界面上
- 某个蝰蛇音效的卡刷包代码分析
- Android自动生成代码工具整理
- Android不常用代码(1)