国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android viewpager自動(dòng)輪播和小圓點(diǎn)聯(lián)動(dòng)效果

2019-10-22 18:26:12
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下

首先來看一下我們要做成的而效果:

主頁面要顯示一個(gè)viewpager自動(dòng)輪播+小圓點(diǎn)聯(lián)動(dòng)的效果 :

Android自動(dòng)輪播,viewpager自動(dòng)輪播,Android小圓點(diǎn)聯(lián)動(dòng)

廢話不多說,直接上代碼:

布局文件:

Android自動(dòng)輪播,viewpager自動(dòng)輪播,Android小圓點(diǎn)聯(lián)動(dòng)

activity_main.xml:

<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" >  <RelativeLayout    android:layout_width="match_parent"    android:layout_height="200dp" >    <android.support.v4.view.ViewPager      android:id="@+id/main_vp"      android:layout_width="match_parent"      android:layout_height="200dp" >    </android.support.v4.view.ViewPager>    <LinearLayout      android:id="@+id/ll_doc"      android:layout_width="match_parent"      android:layout_height="40dp"      android:layout_alignParentBottom="true"      android:gravity="center"      android:orientation="horizontal" >    </LinearLayout>  </RelativeLayout>  <LinearLayout    android:layout_width="match_parent"    android:layout_height="100dp" >  </LinearLayout>  <LinearLayout    android:layout_width="match_parent"    android:layout_height="80dp" >  </LinearLayout>  <GridView    android:id="@+id/main_gv"    android:layout_width="match_parent"    android:layout_height="match_parent"     android:numColumns="2"    >  </GridView></LinearLayout>

menu下的main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  tools:context="com.example.monthextwo.MainActivity" >  <item    android:id="@+id/action_settings"    android:orderInCategory="100"    android:showAsAction="never"    android:title="@string/action_settings"/></menu>

接下來看一下要用到的架包文件:

Android自動(dòng)輪播,viewpager自動(dòng)輪播,Android小圓點(diǎn)聯(lián)動(dòng)

最后是Java文件:

Android自動(dòng)輪播,viewpager自動(dòng)輪播,Android小圓點(diǎn)聯(lián)動(dòng)

首先是com.example.monthextwo包中的MainActivity.java:

public class MainActivity extends Activity {  ViewPager vp;  DataResult data;  List<ImageView> list;  List<ImageView> list_doc;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    initView();    initData();  }  private void initView() {    vp = (ViewPager) findViewById(R.id.main_vp);  }  public void initDoc(){    LinearLayout ll_dco = (LinearLayout) findViewById(R.id.ll_doc);    list_doc = new ArrayList<ImageView>();    if(data != null && data.getResult().getAdvs().size() > 0){      for (int i = 0; i < data.getResult().getAdvs().size(); i++) {        ImageView iv = new ImageView(this);        LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);        params.rightMargin = 10;        iv.setLayoutParams(params);        if(i == 0){          iv.setBackgroundResource(R.drawable.doc_check);        }else{          iv.setBackgroundResource(R.drawable.doc_uncheck);        }        ll_dco.addView(iv);        list_doc.add(iv);      }    }  }  private void initData() {    new AsyncTask<String, String, String>(){      @Override      protected String doInBackground(String... params) {        String json = NetUtils.getNetData("http://www.babybuy100.com/API/getShopOverview.ashx");        Gson gson = new Gson();        data = gson.fromJson(json, DataResult.class);        Log.i("=================", data.toString());        return null;      }      @Override      protected void onPostExecute(String result) {        initVP();        super.onPostExecute(result);      }    }.execute();  }  protected void initVP() {    list = new ArrayList<ImageView>();    if(data != null && data.getResult().getAdvs().size() > 0){      for (int i = 0; i < data.getResult().getAdvs().size(); i++) {        ImageView iv = new ImageView(this);        iv.setScaleType(ScaleType.FIT_XY);        ImageLoader.getInstance().displayImage(data.getResult().getAdvs().get(i).getPic(), iv);        list.add(iv);      }      //創(chuàng)建適配器      MyPagerAdatper myPagerAdatper = new MyPagerAdatper(list);      vp.setAdapter(myPagerAdatper);      initDoc();      vp.addOnPageChangeListener(new OnPageChangeListener() {        @Override        public void onPageSelected(int arg0) {          int index = arg0 % list_doc.size();          for (int i = 0; i < list_doc.size(); i++) {            list_doc.get(i).setBackgroundResource(R.drawable.doc_uncheck);          }          list_doc.get(index).setBackgroundResource(R.drawable.doc_check);        }        @Override        public void onPageScrolled(int arg0, float arg1, int arg2) {          // TODO Auto-generated method stub        }        @Override        public void onPageScrollStateChanged(int arg0) {          // TODO Auto-generated method stub        }      });    }  }}

MyApp.xml:

public class MyApp extends Application{  @Override  public void onCreate() {    // TODO Auto-generated method stub    super.onCreate();    ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this);    ImageLoader.getInstance().init(configuration);  }}

com.example.monthextwo.adapter包下的MyPagerAdatper.java:

public class MyPagerAdatper extends PagerAdapter{  List<ImageView> list;  public MyPagerAdatper(List<ImageView> list) {    super();    this.list = list;  }  @Override  public int getCount() {    if(list != null){      return Integer.MAX_VALUE;    }    return 0;  }  @Override  public boolean isViewFromObject(View arg0, Object arg1) {    // TODO Auto-generated method stub    return arg0 == arg1;  }  @Override  public void destroyItem(ViewGroup container, int position, Object object) {    // TODO Auto-generated method stub    container.removeView((View) object);  }  @Override  public Object instantiateItem(ViewGroup container, int position) {    int index = position % list.size();    container.addView(list.get(index));    return list.get(index);  }}

com.example.monthextwo.bean包下的Adv.java:

public class Adv {  String pic;  public String getPic() {    return pic;  }  public void setPic(String pic) {    this.pic = pic;  }  @Override  public String toString() {    return "Avd [pic=" + pic + "]";  }}

Brand.java: *這是個(gè)空文件*

public class Category {     }

Category.java: *這是個(gè)空文件*

public class Category {     }

DataResult.java:

public class DataResult {  Result result;  public Result getResult() {    return result;  }  public void setResult(Result result) {    this.result = result;  }  @Override  public String toString() {    return "DataResult [result=" + result + "]";  }}

Nation.java: *這是個(gè)空文件*

public class Nation {       }

Result.java:

public class Result { List<Adv> advs = new ArrayList<Adv>(); List<Brand> brands = new ArrayList<Brand>(); List<Category> categorys = new ArrayList<Category>(); List<Nation> nations = new ArrayList<Nation>(); public List<Adv> getAdvs() { return advs; } public void setAdvs(List<Adv> advs) { this.advs = advs; } public List<Brand> getBrands() { return brands; } public void setBrands(List<Brand> brands) { this.brands = brands; } public List<Category> getCategorys() { return categorys; } public void setCategorys(List<Category> categorys) { this.categorys = categorys; } public List<Nation> getNations() { return nations; } public void setNations(List<Nation> nations) { this.nations = nations; } @Override public String toString() { return "Result [avds=" + advs + ", brands=" + brands + ", categorys="  + categorys + ", nations=" + nations + "]"; }}

com.example.monthextwo.net包下的NetUtils.java:

public class NetUtils { public static String getNetData(String path){ String json = ""; try {  URL url = new URL(path);  HttpURLConnection conn = (HttpURLConnection) url.openConnection();  conn.setRequestMethod("GET");  int code = conn.getResponseCode();  if(code == 200){  InputStream is = conn.getInputStream();  ByteArrayOutputStream bos = new ByteArrayOutputStream();  int len = -1;  byte[] buff = new byte[1024];  while((len = is.read(buff)) != -1){   bos.write(buff, 0, len);  }  json = new String(bos.toByteArray());  } } catch (Exception e) {  // TODO Auto-generated catch block  e.printStackTrace(); } return json; }}

以上就是全部的代碼了,新手練習(xí)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 海原县| 南雄市| 渑池县| 徐闻县| 互助| 开江县| 宣威市| 长岛县| 宜兴市| 清水县| 永安市| 平昌县| 金沙县| 河东区| 古丈县| 甘洛县| 竹北市| 石嘴山市| 曲麻莱县| 湘乡市| 齐河县| 怀远县| 仙居县| 青冈县| 曲靖市| 禹州市| 河津市| 都安| 肥西县| 冷水江市| 界首市| 栾川县| 普兰县| 大英县| 探索| 呼伦贝尔市| 东阿县| 乌审旗| 宁晋县| 宜川县| 磐石市|