我正在使用幻灯片显示图像...我想将缩略图添加到它中。下面我想作为缩略图显示多少图像以及它显示的特定图像。我浏览了许多网站,但没有找到任何有用的东西
public class ImageAdapter extends PagerAdapter {
Context context;
int[] GalImages = new int[]{
R.drawable.chokkanatha1,
R.drawable.chokkanatha2,
R.drawable.chokkanatha3,
R.drawable.chokkanatha4,
R.drawable.chokkanatha5,
R.drawable.chokkanatha6};
public ImageAdapter(Context context,String list1){
this.context=context;
String list =list1;
}
@Override
public int getCount() {
return GalImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
//imageView.getItem(myViewPager.getCurrentItem());
// int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium);
// imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(GalImages[position]);
((ViewPager) container).addView(imageView, 0);
System.out.println("position:"+position);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
我的建议是在您的instatiateItem()
中放置一个LinearLayout
,而不是只有一个ImageView
将LinearLayout
方向设置为垂直并添加ImageView
,然后在其下方添加另一个具有水平方向的LinearLayout
,并在此内部布局中添加5(或您喜欢多少)ImageView
,您将在其中绘制缩略图。
你应该得到这样的结果:
public Object instantiateItem(ViewGroup container, int position) {
// this is your layout for the Item
final LinearLayout outerLayout = new LinearLayout(context);
outerLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
outerLayout.setOrientation(LinearLayout.VERTICAL);
// this is your main picture
ImageView imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(GalImages[position]);
// add the picture to the layout
outerLayout.addView(imageView);
final LinearLayout innerLayout = new LinearLayout(context);
innerLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
innerLayout.setOrientation(LinearLayout.HORIZONTAL);
// thumbnail for the previous image
ImageView thumbnailBefore = new ImageView(context);
thumbnailBefore.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
thumbnailBefore.setImageResource("enter your thumbnail for image with id position - 1");
// thumbnail for the current image
ImageView thumbnailThis = new ImageView(context);
thumbnailThis.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
thumbnailThis.setImageResource("enter your thumbnail for image with id position");
// thumbnail for the next image
ImageView thumbnailAfter = new ImageView(context);
thumbnailAfter.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
thumbnailAfter.setImageResource("enter your thumbnail for image with id position + 1");
// add the thumbnails for the images to the inner layout (to appear below your main picture)
innerLayout.addView(thumbnailBefore);
innerLayout.addView(thumbnailThis);
innerLayout.addView(thumbnailAfter);
// add the inner layout to the whole layout
outerLayout.addView(innerLayout);
((ViewPager) container).addView(outerLayout, 0);
return imageView;
}
根据现在显示的图像,您应该用前后的图片填充内部线性布局。(注意带有缩略图位置的ArrayIndexOutOfBoundsException)
很抱歉没有向您提供确切的代码,我现在不在我的电脑前。
编辑:我发布了用于显示上一张和下一张图片的代码示例。此外,如果你没有图片的缩略图,请参阅此答案以了解更多详细信息制作缩略图
Puppeteer 可以用来测试 Chrome 扩展 注意 Chrome / Chromium 扩展当前只能在非无头模式下使用。 下面的代码用来处理扩展的 background page,该扩展的代码在 ./my-extension: const puppeteer = require('puppeteer'); (async () => { const pathToExtension =
使用 Swift 扩展 Weex Swift和Objective-C 混编 参考完整 例子 使用 Swift 进行 module 扩展 因为 module 暴露 method 是通过Objective-C宏来做的,调用的时候是通过反射,所以Swift扩展 module 通过extensionObjective-C的类。 新建 WXSwiftTestModule.h/m 和 WXSwiftTestM
我正试图用三个额外的日期(时间戳)字段扩展扩展扩展名(新闻),并希望在(新闻)的fluidtemplate中调用这些字段。 我已经连线到目前为止,我可以看到我的后端额外的字段,而无需选择一个外部类型-我已经相应地修改了ext_tables.php,并可以保存数据。 现在,我试图在我的新闻流模板中使用这些字段,在我的Partials/List/Item中使用以下代码。html-{newsItem.d
我使用VS2019 16.1.6创建了一个新的VS扩展。我添加了这个using语句 我怎样才能摆脱这个错误?或者,除了使用IDEBugEventCallback2之外,还有其他方法来响应调试器事件吗? 编辑:向Microsoft报告的问题:https://developercommunity.visualstudio.com/content/Problem/651199/vs2019-extens
本文是如何创建 CRD 来扩展 Kubernetes API 的教程。CRD 是用来扩展 Kubernetes 最常用的方式,在 Service Mesh 和 Operator 中也被大量使用。因此读者如果想在 Kubernetes 上做扩展和开发的话,是十分有必要了解 CRD 的。 在阅读本文前您需要先了解使用自定义资源扩展 API, 以下内容译自 Kubernetes 官方文档,有删改,推荐阅
目的 使用部署配置来部署多个 Pod,并以此扩展缩放应用。 环境 openshift v3.11.16/kubernetes v1.11.0 步骤 创建工程1. CLI 登录到 OCP $ oc login https://master.example.com:8443 -u admin -p admin2. 创建工程 $ oc new-project lab08 创建一个新应用,测试缩放1. 创