Splash 页面

来源:互联网 发布:mac os x 10.6.8 编辑:程序博客网 时间:2024/05/01 00:52

public class Splash extends Activity implements Runnable{

    private final int SPLASH_DISPLAY_LENGHT = 3000; // 毫秒
    private Thread mThread;//线程


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //=================================手写布局视图==========================================
        LayoutParams parms = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);//布局参数parms
        
        LinearLayout panel = new LinearLayout(this);//线性布局
        panel.setOrientation(LinearLayout.VERTICAL);//竖直的
        
        //----------------------------------------设置ImageView -------------------------------------------------------
        /**
         * 设置ImageView
         */
        LayoutParams parm1 = new LayoutParams(LayoutParams.WRAP_CONTENT, 0);//宽包裹,高度为零
        parm1.weight = 1;//权重为1        
        parm1.gravity = Gravity.CENTER;//居中
        parm1.bottomMargin = getDimensionPixelSize(50);//底部外边距
        
        ImageView iv = new ImageView(this);
        iv.setLayoutParams(parm1);//把参数1设置给ImageView        
        iv.setImageResource(R.drawable.splash);//图片资源
        iv.setScaleType(ScaleType.CENTER);//居中
        panel.addView(iv);//把图片放到线性布局panel里面
        //---------------------------------------设置ImageView --------------------------------------------------------
        
        //---------------------------------------设置TextView----------------------------------------------------------
        /**
         * 设置TextView
         */
        LayoutParams parm2 = new LayoutParams(LayoutParams.WRAP_CONTENT, getDimensionPixelSize(50));//布局参数parm2
        parm2.weight = 0;//权重为零
        parm2.gravity = Gravity.CENTER;//居中
    
        TextView tv = new TextView(this);
        tv.setLayoutParams(parm2);//把参数2设置给TextView
        tv.setTextSize(10.0f);//文字大小
        tv.setTextColor(0xFF999999);//文字颜色
        tv.setText("设置文本");
        panel.addView(tv);//把文本放到线性布局panel里面
        //--------------------------------------设置TextView------------------------------------------------------------
        
        
        setContentView(panel, parms);//显示到Activity上面
        //=================================手写布局视图==========================================
        
        mThread = new Thread(this);
        mThread.start();//启动一个线程
    }


    private int getDimensionPixelSize(int value){
        return (int)(value * (this.getResources().getDisplayMetrics().density) + 0.5f);
    }
    
    @Override
    public void run() {

        SystemClock.sleep(SPLASH_DISPLAY_LENGHT); //睡3000 毫秒
            
        this.runOnUiThread(new Runnable(){
            @Override
            public void run() {
                jump();//调用跳转页面的方法
            }});
        
        /*-----------------------------------*/
        //启动 服务Server

        /*-----------------------------------*/
    }


        /**
     * 跳转指定页
     */
    public void jump() {
        Intent mIntent = new Intent(Splash.this, MainActivity.class);
        Splash.this.startActivity(mIntent);
        Splash.this.finish();//结束当前Splash页面
    }

    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        mThread = null;
    }    


    
}
0 0