• Android学习总结——欢迎页和导航页的实现


    activity_welcome.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.sssss.fllm.Welcome">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/imageView"
            android:scaleType="fitXY"
            android:src="@drawable/welcome"
            />
    </LinearLayout>

    activity_guide.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.sssss.fllm.Guide">
    
        <android.support.v4.view.ViewPager
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:id="@+id/viewPage"/>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_horizontal"
            android:layout_alignParentBottom="true"
            android:id="@+id/ll">
    
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/iv1"
                android:src="@drawable/login_point_selected"/>
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/iv2"
                android:src="@drawable/login_point"/>
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/iv3"
                android:src="@drawable/login_point"/>
    
        </LinearLayout>
    
    </RelativeLayout>

    view1.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imageView1"
            android:background="@drawable/guide_1"/>
    </LinearLayout>

    view2.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imageView2"
            android:background="@drawable/guide_2"/>
    </LinearLayout>

    view3.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imageView3"
            android:background="@drawable/guide_3"/>
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >
    
        </LinearLayout>
    
        <Button
            android:id="@+id/btnStart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="点击进入>>>"
            android:layout_marginBottom="41dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" />
    
    </RelativeLayout>

    AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.sssss.fllm">
    <uses-permission android:name="android.permission.INTERNET"/>
        <application
            android:allowBackup="true"
            android:icon="@drawable/kunyi"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
            mipmap
            <activity
                android:name=".Welcome">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".Guide"></activity>
        </application>
    
    </manifest>

    Welcome.java

    package com.example.sssss.fllm;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.net.Uri;
    import android.os.Handler;
    import android.os.Message;
    import android.os.Bundle;
    
    public class Welcome extends Activity {
        //设置延时时间
        private static final int TIME=2000;
        //通过参数来决定跳转哪一个界面
        private static final int GO_KYTeach=1000;
        private static final int GO_GUIDE=1001;
        //判断handler发送了什么消息
        private boolean isFirstIn=false;
    
    
        //等待的时间不能让其在主线程中沉睡,应通过Handler来进行沉睡
        private Handler handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                switch (msg.what){
                    case GO_KYTeach:
                        goHome();
                        break;
                    case GO_GUIDE:
                        goGuide();
                        break;
                }
            }
        };
    
        private void init(){
            //获取
            SharedPreferences perferences=getPreferences(MODE_PRIVATE);
            isFirstIn=perferences.getBoolean("isFirstIn",true);
            if(!isFirstIn){
                handler.sendEmptyMessageDelayed(GO_KYTeach,TIME);
            }else {
                handler.sendEmptyMessageDelayed(GO_GUIDE,TIME);
                //储存
                SharedPreferences.Editor editor=perferences.edit();
                editor.putBoolean("isFirstIn",false);
                //提交
                editor.commit();
            }
        }
    
    
        public void goHome(){
        }
        public void goGuide(){
            Intent intent=new Intent(Welcome.this,Guide.class);
            startActivity(intent);
            finish();
        }
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_welcome);
            init();
        }
    
    }

    Guide.java

    package com.example.sssss.fllm;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.net.Uri;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.ImageView;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Guide extends Activity implements ViewPager.OnPageChangeListener {
    
        private Button btnStart;
        private ViewPager viewPager;
        private View view1, view2, view3;
        private List<View> viewList;//view数组
        private PagerAdapter pagerAdapter;
        private ImageView[] dots;
        private int[] ids={R.id.iv1,R.id.iv2,R.id.iv3};
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_guide);
    
    
            pagerAdapter = new PagerAdapter(){
    
                @Override
                public int getCount() {
                    return viewList.size();
                }
    
                @Override
                public boolean isViewFromObject(View view, Object object) {
                    return view==object;
                }
    
                @Override
                public void destroyItem(ViewGroup container, int position, Object object) {
                    //super.destroyItem(container, position, object);
                    container.removeView(viewList.get(position));
                }
    
                @Override
                public Object instantiateItem(ViewGroup container, int position) {
                    //return super.instantiateItem(container, position);
                    container.addView(viewList.get(position));
                    return viewList.get(position);
                }
            };
    
            initView();
            initDots();
        }
    
        public void initView(){
            viewPager= (ViewPager) findViewById(R.id.viewPage);
            LayoutInflater inflater=getLayoutInflater().from(this);
            view1 = inflater.inflate(R.layout.view1, null);
            view2 = inflater.inflate(R.layout.view2,null);
            view3 = inflater.inflate(R.layout.view3, null);
    
            viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
            viewList.add(view1);
            viewList.add(view2);
            viewList.add(view3);
    
            viewPager.setAdapter(pagerAdapter);
            viewPager.setOnPageChangeListener(this);
    
            btnStart= (Button)viewList.get(2).findViewById(R.id.btnStart);
            btnStart.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    
                }
            });
        }
    
    
        public void initDots(){
            dots=new ImageView[viewList.size()];
            for(int i=0;i<viewList.size();i++){
                dots[i]= (ImageView) findViewById(ids[i]);
            }
        }
    
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
        }
    
        @Override
        public void onPageSelected(int position) {
    
            for (int i=0;i<ids.length;i++){
                if(position==i){
                    dots[i].setImageResource(R.drawable.login_point_selected);
                }else {
                    dots[i].setImageResource(R.drawable.login_point);
                }
            }
        }
    
        @Override
        public void onPageScrollStateChanged(int state) {
    
        }
    }
  • 相关阅读:
    Linux标准C头文件和内核头文件的理解
    linux GCC编译C程序的问题
    C#类型反射、晚期绑定、特性编程的使用背景与分析
    linux下C#开发mongoDB
    C中“指针和数组”引发的探索一
    C#学习记录
    linux下Apache+PHP+mysql+phpMyAdmin源码包安装配置
    基于mongoDB和C#分布式海量文件存储实验
    C中指针和数组引发的探索二
    算法研究学习一(用C和C#实现)
  • 原文地址:https://www.cnblogs.com/xch-yang/p/5954825.html
Copyright © 2020-2023  润新知