@Override public Object instantiateItem(ViewGroup container, int position) { Context context = ImageShowActivity.this; int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); ImageLocation imageLocation = imageLocations.get(position); if (imageLocation.isLocal()) { ImageView imageView = new ImageView(context); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setImageURI(imageLocation.getUri()); container.addView(imageView, 0); return imageView; } else { NetworkImageView imageView = new NetworkImageView(context); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setImageUrl( API_IMAGE_GET + imageLocation.getId(), BaseApplication.baseApplication.mImageLoader); container.addView(imageView, 0); return imageView; } }
@SuppressLint("NewApi") private void resue() { String url = Config.SERVICEURL; url = url.substring(0, url.length() - 1); for (int i = 0; i < pictureTypes.size(); i++) { NetworkImageView niv = new NetworkImageView(this); niv.setImageUrl( url + pictureTypes.get(i).getTp_pic(), new VolleyUtils() .getImageLoader( PictureTypeActivity.this, new HttpCallback() { @Override public void httpCallback(Object oj) { // TODO Auto-generated method stub if (wd.isShowing()) { wd.dismiss(); } } })); niv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); niv.setScaleType(ScaleType.FIT_XY); ims.addView(niv); } Log.i("sys", "图片添加完成"); }
private void initViewPager() { homeViewPager = (ViewPager) headerView.findViewById(R.id.home_viewpager); ViewGroup dotContainer = (ViewGroup) headerView.findViewById(R.id.dot_container); // 创建广告页 List<View> adsImageList = new ArrayList<View>(); NetworkImageView ads1 = new NetworkImageView(getActivity()); ads1.setScaleType(ImageView.ScaleType.FIT_XY); ads1.setBackgroundColor(Color.TRANSPARENT); adsImageList.add(ads1); NetworkImageView ads2 = new NetworkImageView(getActivity()); ads2.setScaleType(ImageView.ScaleType.FIT_XY); ads2.setBackgroundColor(Color.TRANSPARENT); adsImageList.add(ads2); NetworkImageView ads3 = new NetworkImageView(getActivity()); ads3.setScaleType(ImageView.ScaleType.FIT_XY); ads3.setBackgroundColor(Color.TRANSPARENT); adsImageList.add(ads3); // 从服务器加载广告图片并显示 String adUrl = "http://182.61.8.185/images/3/3.jpg"; Traffic.showNetworkImage(requestQueue, adUrl, ads1); Traffic.showNetworkImage(requestQueue, adUrl, ads2); Traffic.showNetworkImage(requestQueue, adUrl, ads3); // 对dotImageViews进行填充 dotImageViews = new ImageView[adsImageList.size()]; // 导航圆点 for (int i = 0; i < adsImageList.size(); i++) { dotImageView = new ImageView(getActivity()); dotImageView.setLayoutParams(new LinearLayout.LayoutParams(20, 20)); dotImageView.setPadding(5, 5, 5, 5); dotImageViews[i] = dotImageView; if (i == 0) { dotImageViews[i].setImageResource(R.drawable.dot_selected); } else { dotImageViews[i].setImageResource(R.drawable.dot); } dotContainer.addView(dotImageViews[i]); } homeViewPager.setAdapter(new AdsAdapter(adsImageList)); homeViewPager.addOnPageChangeListener( new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled( int position, float positionOffset, int positionOffsetPixels) {} @Override public void onPageSelected(int position) { what.getAndSet(position); for (int i = 0; i < dotImageViews.length; i++) { dotImageViews[position].setImageResource(R.drawable.dot_selected); if (position != i) { dotImageViews[i].setImageResource(R.drawable.dot); } } } @Override public void onPageScrollStateChanged(int state) {} }); homeViewPager.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_MOVE: isContinue = false; case MotionEvent.ACTION_UP: isContinue = true; break; default: isContinue = true; break; } return false; } }); new Thread( new Runnable() { @Override public void run() { while (true) { if (isContinue) { viewHandler.sendEmptyMessage(what.get()); whatOpition(); } } } }) .start(); homeViewPager.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // 启动广告活动 } }); }
private void buildView(final Context context, TypedArray ta) { int thumbnailBackground = ta.getColor(R.styleable.PostView_thumbnail_background, 0); int replyCountColor = ta.getColor(R.styleable.PostView_reply_count_color, 0); int iconPadding = ta.getDimensionPixelSize(R.styleable.PostView_icon_padding, 0); int iconWidth = ta.getDimensionPixelSize(R.styleable.PostView_icon_width, 0); int iconHeight = ta.getDimensionPixelSize(R.styleable.PostView_icon_height, 0); int gridHeight = ta.getDimensionPixelSize(R.styleable.PostView_grid_height, 0); int optionsSpacing = ta.getDimensionPixelSize(R.styleable.PostView_options_spacing, 0); int titleSize = ta.getDimensionPixelSize(R.styleable.PostView_title_size, 0); int optionsLeftPadding = ta.getDimensionPixelSize(R.styleable.PostView_options_left_padding, 0); int optionsTopPadding = ta.getDimensionPixelSize(R.styleable.PostView_options_top_padding, 0); int optionsRightPadding = ta.getDimensionPixelSize(R.styleable.PostView_options_right_padding, 0); int optionsBottomPadding = ta.getDimensionPixelSize(R.styleable.PostView_options_bottom_padding, 0); int lastSeenHeight = ta.getDimensionPixelSize(R.styleable.PostView_last_seen_height, 0); int postListMaxHeight = ta.getDimensionPixelSize(R.styleable.PostView_list_comment_max_height, 0); int postCommentSize = 0; int commentPadding = 0; int postPadding = 0; int imageSize = 0; int repliesCountSize = 0; if (isList()) { postCommentSize = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, ThemeHelper.getInstance().getFontSize(), getResources().getDisplayMetrics()); commentPadding = ta.getDimensionPixelSize(R.styleable.PostView_list_comment_padding, 0); postPadding = ta.getDimensionPixelSize(R.styleable.PostView_list_padding, 0); imageSize = ta.getDimensionPixelSize(R.styleable.PostView_list_image_size, 0); repliesCountSize = ta.getDimensionPixelSize(R.styleable.PostView_list_replies_count_size, 0); } else if (isGrid()) { postCommentSize = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, ThemeHelper.getInstance().getFontSize() - 1, getResources().getDisplayMetrics()); commentPadding = ta.getDimensionPixelSize(R.styleable.PostView_grid_comment_padding, 0); postPadding = ta.getDimensionPixelSize(R.styleable.PostView_grid_padding, 0); imageSize = ta.getDimensionPixelSize(R.styleable.PostView_grid_image_size, 0); repliesCountSize = ta.getDimensionPixelSize(R.styleable.PostView_grid_replies_count_size, 0); } RelativeLayout wrapper = new RelativeLayout(context); wrapper.setLayoutParams(matchParams); full = new LinearLayout(context); if (isList()) { full.setOrientation(HORIZONTAL); wrapper.addView(full, matchParams); } else if (isGrid()) { full.setOrientation(VERTICAL); wrapper.addView(full, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, gridHeight)); } LinearLayout imageContainer = new LinearLayout(context); imageContainer.setOrientation(VERTICAL); imageContainer.setBackgroundColor(thumbnailBackground); // Create thumbnail imageView = new CustomNetworkImageView(context); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setFadeIn(100); imageView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { manager.onThumbnailClicked(post); } }); if (isList()) { imageContainer.addView(imageView, new LinearLayout.LayoutParams(imageSize, imageSize)); full.addView(imageContainer, wrapMatchParams); full.setMinimumHeight(imageSize); } else if (isGrid()) { imageContainer.addView( imageView, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, imageSize)); full.addView(imageContainer, matchWrapParams); } contentContainer = new LinearLayout(context); contentContainer.setOrientation(VERTICAL); LinearLayout titleContainer = new LinearLayout(context); titleContainer.setOrientation(HORIZONTAL); if (isList()) { // 25 padding to give optionsView some space titleContainer.setPadding(0, 0, optionsSpacing, 0); } titleView = new TextView(context); titleView.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize); titleView.setPadding(postPadding, postPadding, postPadding, 0); titleContainer.addView(titleView, wrapParams); contentContainer.addView(titleContainer, matchWrapParams); iconsView = new LinearLayout(context); iconsView.setOrientation(HORIZONTAL); iconsView.setPadding(postPadding, iconPadding, postPadding, 0); stickyView = new ImageView(context); stickyView.setImageDrawable(IconCache.stickyIcon); iconsView.addView(stickyView, new LinearLayout.LayoutParams(iconWidth, iconHeight)); closedView = new ImageView(context); closedView.setImageDrawable(IconCache.closedIcon); iconsView.addView(closedView, new LinearLayout.LayoutParams(iconWidth, iconHeight)); deletedView = new ImageView(context); deletedView.setImageDrawable(IconCache.trashIcon); iconsView.addView(deletedView, new LinearLayout.LayoutParams(iconWidth, iconHeight)); archivedView = new ImageView(context); archivedView.setImageDrawable(IconCache.archivedIcon); iconsView.addView(archivedView, new LinearLayout.LayoutParams(iconWidth, iconHeight)); countryView = new NetworkImageView(context); countryView.setScaleType(ImageView.ScaleType.FIT_CENTER); iconsView.addView(countryView, new LinearLayout.LayoutParams(iconWidth, iconHeight)); contentContainer.addView(iconsView, matchWrapParams); commentView = new TextView(context); commentView.setTextSize(TypedValue.COMPLEX_UNIT_PX, postCommentSize); if (isList()) { commentView.setPadding(postPadding, commentPadding, postPadding, commentPadding); if (manager.getLoadable().isBoardMode() || manager.getLoadable().isCatalogMode()) { commentView.setMaxHeight(postListMaxHeight); } } else if (isGrid()) { commentView.setPadding(postPadding, commentPadding, postPadding, 0); // So that is fills up all the height using weight later on commentView.setMinHeight(10000); } if (isList()) { contentContainer.addView(commentView, matchWrapParams); } else if (isGrid()) { contentContainer.addView( commentView, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0, 1f)); } repliesCountView = new TextView(context); Utils.setPressedDrawable(repliesCountView); repliesCountView.setTextColor(replyCountColor); repliesCountView.setPadding(postPadding, postPadding, postPadding, postPadding); repliesCountView.setTextSize(TypedValue.COMPLEX_UNIT_PX, repliesCountSize); repliesCountView.setSingleLine(); contentContainer.addView(repliesCountView, wrapParams); lastSeen = new View(context); lastSeen.setBackgroundColor(0xffff0000); contentContainer.addView(lastSeen, new LayoutParams(LayoutParams.MATCH_PARENT, lastSeenHeight)); if (!manager.getLoadable().isThreadMode()) { Utils.setPressedDrawable(contentContainer); } full.addView(contentContainer, matchWrapParams); optionsView = new ImageView(context); optionsView.setImageResource(R.drawable.ic_overflow); Utils.setPressedDrawable(optionsView); optionsView.setPadding( optionsLeftPadding, optionsTopPadding, optionsRightPadding, optionsBottomPadding); optionsView.setOnClickListener( new OnClickListener() { @Override public void onClick(final View v) { PopupMenu popupMenu = new PopupMenu(context, v); manager.showPostOptions(post, popupMenu); popupMenu.show(); if (ThemeHelper.getInstance().getTheme().isLightTheme) { optionsView.setImageResource(R.drawable.ic_overflow_black); popupMenu.setOnDismissListener( new PopupMenu.OnDismissListener() { @Override public void onDismiss(final PopupMenu menu) { optionsView.setImageResource(R.drawable.ic_overflow); } }); } } }); wrapper.addView(optionsView, wrapParams); RelativeLayout.LayoutParams optionsParams = (RelativeLayout.LayoutParams) optionsView.getLayoutParams(); optionsParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); optionsParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); optionsView.setLayoutParams(optionsParams); addView(wrapper, matchParams); wrapper.setOnClickListener(this); }