a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

android常見手動和自動輪播圖效果

2019-10-21 21:35:10
字體:
來源:轉載
供稿:網友

本文實例為大家分享了android手動和自動輪播圖效果的具體代碼,供大家參考,具體內容如下

1、準備好需要的輪播圖片,圖片標題(初始化,聲明)。

/**輪播圖片*/  private int[] imageIds=new int[]{      R.drawable.ic_launcher,      R.drawable.simple_player_control_focused_holo,      R.drawable.dot_player1_1,      R.drawable.jt5,  };  /**輪播圖片的標題*/  private String[] titles=new String[]{      "我是一",      "我是二",      "我是三",      "我是四",  };

2、在你要輪播的布局里面加入下面的布局(相當于加入一個控件,看你想放哪里).

 <FrameLayout    android:layout_width="match_parent"    android:layout_height="200dip" >     <android.support.v4.view.ViewPager      android:id="@+id/viewPager"      android:layout_width="match_parent"      android:layout_height="match_parent" />     <LinearLayout      android:layout_width="match_parent"      android:layout_height="35dip"      android:layout_gravity="bottom"      android:background="#33000000"      android:gravity="center"      android:orientation="vertical" >       <TextView        android:id="@+id/title"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="圖片標題"        android:textColor="@android:color/white" />       <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="3dip"        android:orientation="horizontal" >         <View          android:id="@+id/dot_0"          android:layout_width="5dip"          android:layout_height="5dip"          android:layout_marginLeft="2dip"          android:layout_marginRight="2dip"          android:background="@drawable/dot_focused"/>         <View          android:id="@+id/dot_1"          android:layout_width="5dip"          android:layout_height="5dip"          android:layout_marginLeft="2dip"          android:layout_marginRight="2dip"          android:background="@drawable/dot_normal"/>        <View          android:id="@+id/dot_2"          android:layout_width="5dip"          android:layout_height="5dip"          android:layout_marginLeft="2dip"          android:layout_marginRight="2dip"          android:background="@drawable/dot_normal"/>        <View          android:id="@+id/dot_3"          android:layout_width="5dip"          android:layout_height="5dip"          android:layout_marginLeft="2dip"          android:layout_marginRight="2dip"          android:background="@drawable/dot_normal"/>        </LinearLayout>    </LinearLayout></FrameLayout>

3、把圖片和標題都設置控件里面。

 /**顯示的圖片*/    images = new ArrayList<ImageView>();    for(int i=0;i<imageIds.length;i++){      ImageView imageView = new ImageView(getActivity());      imageView.setBackgroundResource(imageIds[i]);      images.add(imageView);    }     /*顯示的圓點 */    dots = new ArrayList<View>();    dots.add(view.findViewById(R.id.dot_0));    dots.add(view.findViewById(R.id.dot_1));    dots.add(view.findViewById(R.id.dot_2));    dots.add(view.findViewById(R.id.dot_3));    /**輪播的標題*/    title.setText(titles[0]);

4、findViewById到控件布局里面的ViewPager,new 一個ViewpagerAdapter(),通過setOnPageChangeListener的方法來監聽改變

viewPager = (ViewPager) view.findViewById(R.id.viewPager);    adapter = new ViewPagerAdapter();    viewPager.setAdapter(adapter);    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {      @Override      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {        title.setText(titles[position]);         dots.get(position).setBackgroundResource(R.drawable.dot_focused);        dots.get(oldPosition).setBackgroundResource(R.drawable.dot_normal);         oldPosition = position;        currentItem = position;      }       @Override      public void onPageSelected(int position) {       }       @Override      public void onPageScrollStateChanged(int state) {       }    });

5、自定義一個ViewPagerAdapter

 /**   * 自定義Adapter   * 內部類   */  private class ViewPagerAdapter extends PagerAdapter {     @Override    public int getCount() {      return images.size();//傳入的數據    }     @Override    public boolean isViewFromObject(View arg0, Object arg1) {      return arg0 == arg1;    }     @Override    public void destroyItem(ViewGroup view, int position, Object object) {      // TODO Auto-generated method stub//     super.destroyItem(container, position, object);//     view.removeView(view.getChildAt(position));//     view.removeViewAt(position);      view.removeView(images.get(position));    }     @Override    public Object instantiateItem(ViewGroup view, int position) {      // TODO Auto-generated method stub      view.addView(images.get(position));      return images.get(position);    } }

6、這些自己看著改主要是線程池,handler,定時輪換

 /**   * 圖片輪播任務   *   */  private class ViewPageTask implements Runnable{     @Override    public void run() {      currentItem = (currentItem + 1) % imageIds.length;      mHandler.sendEmptyMessage(0);    }  }   /**   * 接收子線程傳遞過來的數據   */  private Handler mHandler = new Handler(){    public void handleMessage(android.os.Message msg) {      viewPager.setCurrentItem(currentItem);    };  };  @Override  public void onStop() {    // TODO Auto-generated method stub    super.onStop();    if(scheduledExecutorService != null){      scheduledExecutorService.shutdown();      scheduledExecutorService = null;    }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人影院一区二区三区 | 日韩一区二区三区在线播放 | 亚洲日韩欧美一区二区在线 | 久久久精品一区 | 亚洲一区免费视频 | 韩国三级中文字幕hd久久精品 | 国产精品一区二区三区在线 | 国产伦理片在线免费观看 | 午夜视频在线观看网站 | 精品一区二区三区四区五区 | 蜜月久久99静品久久久久久 | 一区二区在线免费观看 | 91国高清视频 | 99精品热视频 | 成人网址在线观看 | 亚洲天堂影视 | 欧美九九| 综合中文字幕 | 2019天天操 | 久久一区二区三区四区 | 日韩精品视频国产 | 国产96精品久久久 | 国产一区二区h | 九九天堂网 | 国产三级在线免费观看 | 天天天天天天天天干 | 成人欧美一区二区三区在线观看 | 性色av一区二区三区 | 国产裸体永久免费视频网站 | 激情婷婷丁香 | 国产精品一线二线三线 | 99re视频| 欧美在线播放一区二区三区 | 久久精品免费观看 | 欧美一级黄色片网站 | 日韩国产欧美 | 另类一区 | 在线观看日本 | www.日韩在线视频 | 午夜不卡一区二区 | 亚洲一区二区视频免费观看 |