zoukankan      html  css  js  c++  java
  • Android 新手引导

    关于这个Demo的写法很多 我也献上一段 效果图如下

    上代码

    MainActivity

    public class MainActivity extends Activity {
    
      // public List<File> Localphotos_List = new ArrayList<File>();
      private static final int[] pics = { R.drawable.guide1, R.drawable.guide2, R.drawable.guide3, R.drawable.guide4, R.drawable.guide5 };
    
      private ViewPager mViewPager;
      private ImageView mPage0;
      private ImageView mPage1;
      private ImageView mPage2;
      private ImageView mPage3;
      private ImageView mPage4;
      private Button start_bn;
    
      private boolean isFirste;
    
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
    
        // getPhotos();
    
        // isFirste =
        // SharedPreferencesUtils.getFirstLoginState(this.getApplicationContext());
    
        mViewPager = (ViewPager) findViewById(R.id.whatsnew_viewpager);
        start_bn = (Button) findViewById(R.id.start_bn);
        start_bn.setOnClickListener(new View.OnClickListener() {
          
          @Override
          public void onClick(View v) {
            
            
          }
        });
        
        mViewPager.setOnPageChangeListener(new MyOnPageChangeListener());
    
        mPage0 = (ImageView) findViewById(R.id.page0);
        mPage1 = (ImageView) findViewById(R.id.page1);
        mPage2 = (ImageView) findViewById(R.id.page2);
        mPage3 = (ImageView) findViewById(R.id.page3);
        mPage4 = (ImageView) findViewById(R.id.page4);
    
        final ArrayList<ImageView> list = new ArrayList<ImageView>();
        // 初始化引导图片列表
        for (int i = 0; i < pics.length; i++) {
          ImageView iv = new ImageView(this);
          iv.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
          iv.setImageResource(pics[i]);
          iv.setScaleType(ImageView.ScaleType.CENTER_CROP); 
          list.add(iv);
        }
    
        /*
         * if (isFirste) { mPage3.setVisibility(View.VISIBLE); list.add(view4); }
         * else { mPage3.setVisibility(View.GONE); }
         */
    
        PagerAdapter adapter = new PagerAdapter() {
    
          @Override
          public boolean isViewFromObject(View arg0, Object arg1) {
            return arg0 == arg1;
          }
    
          @Override
          public int getCount() {
            return list.size();
          }
    
          @Override
          public void destroyItem(View container, int position, Object object) {
            ((ViewPager) container).removeView(list.get(position));
          }
    
          @Override
          public Object instantiateItem(View container, int position) {
            ((ViewPager) container).addView(list.get(position));
            return list.get(position);
          }
        };
    
        mViewPager.setAdapter(adapter);
      }
    
      public class MyOnPageChangeListener implements OnPageChangeListener {
    
        @Override
        public void onPageScrollStateChanged(int arg0) {
    
        }
    
        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
    
        }
    
        @Override
        public void onPageSelected(int arg0) {
          switch (arg0) {
            case 0:
              display();
              mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
              mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));
              break;
    
            case 1:
              display();
              mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
              mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));
              break;
    
            case 2:
              display();
              mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
              mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));
              break;
    
            case 3:
              display();
              mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
              mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));
              
    /*          mPage3.setVisibility(View.GONE);
              mPage0.setVisibility(View.GONE);
              mPage1.setVisibility(View.GONE);
              mPage2.setVisibility(View.GONE);*/
    
              /*
               * SharedPreferencesUtils.saveFirstLoginState(Activity_WhatsNew.this.
               * getApplicationContext()); File dbFile = new
               * File(ResourceManager.DBDIR_PATH + "/userprofiledb.db"); if
               * (!dbFile.exists()) { UserProfileDB.instance().createNew(); } new
               * Handler().postDelayed(new Runnable() { public void run() {
               * startActivity(new Intent(Activity_WhatsNew.this,
               * Activity_LoginForFirst.class)); finish(); } }, 500);
               */
              break;
             
            case 4:
    /*          mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));
              mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page_now));*/
              hide();
              break;
          }
        }
      }
      
      
      private void hide() {
        mPage0.setVisibility(View.GONE);
        mPage1.setVisibility(View.GONE);
        mPage2.setVisibility(View.GONE);
        mPage3.setVisibility(View.GONE);
        mPage4.setVisibility(View.GONE);
        start_bn.setVisibility(View.VISIBLE);
      }
      
      private void display() {
        mPage0.setVisibility(View.VISIBLE);
        mPage1.setVisibility(View.VISIBLE);
        mPage2.setVisibility(View.VISIBLE);
        mPage3.setVisibility(View.VISIBLE);
        mPage4.setVisibility(View.VISIBLE);
        start_bn.setVisibility(View.GONE);
      }
    
    }

    activity_main

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FFFFFF"
        android:orientation="vertical" >
    
        <android.support.v4.view.ViewPager
            android:id="@+id/whatsnew_viewpager"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center" >
        </android.support.v4.view.ViewPager>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal" >
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_marginBottom="30dp"
                android:gravity="center_horizontal" >
    
                <ImageView
                    android:id="@+id/page0"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:background="@drawable/page_now" />
    
                <ImageView
                    android:id="@+id/page1"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/page" />
    
                <ImageView
                    android:id="@+id/page2"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/page" />
    
                <ImageView
                    android:id="@+id/page3"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/page" />
                
                <ImageView
                    android:id="@+id/page4"
                    android:layout_width="10dp"
                    android:layout_height="10dp"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/page" />
            </LinearLayout>
        </LinearLayout>
        
        <Button 
            android:id="@+id/start_bn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="40dp"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="40dp"
            android:text="马上开始"
            android:visibility="gone"
            />
    
    </FrameLayout>

    Demo见github

    https://github.com/huanyi0723/NoviceGuide

  • 相关阅读:
    C++默认参数
    C++中对象初始化
    类设计者的核查表
    函数返回数组
    UVA439 骑士的移动 Knight Moves
    P2415 集合求和(一道洛谷好题鸭)(虽然可以水过,但有必研究DP)
    最小生成树(Kruskal)
    并查集(许多东西的基本哦)
    堆模板(STL版)
    线段树模板(贼慢的版本)
  • 原文地址:https://www.cnblogs.com/huanyi0723/p/4815706.html
Copyright © 2011-2022 走看看