banner广告条,就是上面为一个viewpager,下面为一个viewgroup
***********************在BookPreviewActivity 杂志浏览页面:
代码如下:
@Override protected void onResume() { super.onResume(); final List<View> previewPictures = getPreviewPictures(); title.setText(book.ecatalogName); count.setText(getCount()); pager.setAdapter(new PagerAdapter() { //给viewpager适配数据 @Override public int getCount() { return previewPictures.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { View item = previewPictures.get(position); container.addView(item); return item; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(previewPictures.get(position)); } }); pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { //pagerview滚动监听事件 @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { currentPositionOffset = positionOffset; } @Override public void onPageSelected(int position) { //页数赋值刷新 currentPosition = position; count.setText(getCount()); } @Override public void onPageScrollStateChanged(int state) { } }); pager.setOnTouchListener(new View.OnTouchListener() { //向右滑动到最后一页显示下载的dialog @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: if ((currentPosition >= MAX_PREVIEW_NUMBER - 1 || currentPosition <= 0) && currentPositionOffset == 0) { showPreviewLimitTipsDialog(); } break; } return false; } }); }
下面为下载功能的代码:
private void showPreviewLimitTipsDialog() { if (previewLimitTipsDialog == null) { previewLimitTipsDialog = new CommonTwoBtnDialog(this); previewLimitTipsDialog.setCancelBtnTextColor(getResources().getColor(R.color.color_333333)); previewLimitTipsDialog.setCancelBtnText(R.string.button_cancel_text); previewLimitTipsDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { previewLimitTipsDialog.dismiss(); } }); previewLimitTipsDialog.setConfirmTextColor(getResources().getColor(R.color.color_409fff)); previewLimitTipsDialog.setConfirmBtnText(R.string.button_download_text); previewLimitTipsDialog.setConfirmDialogListener(new CommonDialog.DialogClickListener() { @Override public void onDialogClick() { previewLimitTipsDialog.dismiss(); showDialogOrDownload(); } }); previewLimitTipsDialog.buildSimpleDialog(15, R.color.color_333333, getString(R.string.book_preview_limit_tips)); } previewLimitTipsDialog.show(); } private void showDialogOrDownload() { DownloadManager.getInstance().showDownloadOnWifiOrDoAction(this, new DownloadManager.DefaultAction() { @Override public void execute() { download(); } }); } private void download() { DownloadManager.getInstance().addDownload(book.downloadUrl); setResult(RESULT_OK); finish(); }