android自动画廊,Android:使画廊无限循环的图像

android自动画廊,Android:使画廊无限循环的图像我在我的项目中使用了一个画廊,其中我添加了四个图像,我希望它从右侧和左侧都是无限的.我该如何做到这一点?解决方法:主要思想是在你的getView方法中,你必须使用position=position%imagesArray.length;if(position<0)position=position+imagesArray.length;imagesArray是将图像保存…

大家好,又见面了,我是你们的朋友全栈君。

我在我的项目中使用了一个画廊,其中我添加了四个图像,我希望它从右侧和左侧都是无限的.我该如何做到这一点?

解决方法:

主要思想是在你的getView方法中,你必须使用

position = position % imagesArray.length;

if (position < 0)

position = position + imagesArray.length;

imagesArray是将图像保存在res文件夹中的数组.例如:

public class CircularGallery extends Activity {

/** Called when the activity is first created. */

private Integer[] imagesArray = { R.drawable.picture1, R.drawable.picture2, R.drawable.picture3, R.drawable.picture4, R.drawable.picture5, R.drawable.picture6 , R.drawable.picture7 };

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Gallery g = (Gallery) findViewById(R.id.gallery);

g.setAdapter(new ImageAdapter(this));

g.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView parent, View v, int position, long id) {

if (position >= imagesArray.length) {

position = position % imagesArray.length;

}

Toast.makeText(CircularGallery.this, “” + position, Toast.LENGTH_SHORT).show();

}

});

}

public class ImageAdapter extends BaseAdapter {

int mGalleryItemBackground;

private Context mContext;

public ImageAdapter(Context c) {

mContext = c;

TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);

mGalleryItemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0);

a.recycle();

}

public int getCount() {

return Integer.MAX_VALUE;

}

public Object getItem(int position) {

if (position >= imagesArraylength) {

position = position % mImageIds.length;

}

return position;

}

public long getItemId(int position) {

if (position >= imagesArray.length) {

position = position % imagesArray.length;

}

return position;

}

public View getView(int position, View convertView, ViewGroup parent) {

ImageView i = new ImageView(mContext);

if (position >= imagesArray.length) {

position = position % imagesArray.length;

}

i.setImageResource(imagesArray[position]);

i.setLayoutParams(new Gallery.LayoutParams(80, 80));

i.setScaleType(ImageView.ScaleType.FIT_XY);

i.setBackgroundResource(mGalleryItemBackground);

return i;

}

public int checkPosition(int position) {

if (position >= imagesArray.length) {

position = position % imagesArray.length;

}

return position;

}

}}

此外,一些开发人员已经完成了这样的功能,您可以在他们的博客上找到来源

标签:android-gallery,android

来源: https://codeday.me/bug/20191007/1867746.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130233.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 聊聊学习和成长

    聊聊学习和成长

  • 设置PyCharm使用Anaconda的环境[通俗易懂]

    设置PyCharm使用Anaconda的环境[通俗易懂]设置PyCharm使用Anaconda的环境PyCharm的安装以及Anaconda的安装和环境的新建这里就不做赘述了。为每一个PyCharm中的project设置特定的编译器及资源路径在PyCharm中新建一个project后,该项目的默认编译器应该是系统默认的python.exe。为了选择特定的编译环境,我们需要个性化设置一下。首先点击菜单栏中的File,打开Settings。在Pr…

  • 密码学与网络安全第七版部分课后习题答案[通俗易懂]

    密码学与网络安全第七版部分课后习题答案[通俗易懂]第0章序言1.课后题汇总(仅部分)第一章思考题:1、2、4、5第二章习题:10、12、16第三章习题:9第四章思考题:4、5、6第五章习题:11第六章习题:2、6第七章思考题:2、3、4习题:4、7、8第八章习题:2第九章思考题:5、6习题:2、3第十章习题:1、2第十一章思考题:1、2、3第十二章思考题:1、3、4、7第十三章思考题:…

  • jquery实现tab切换完整代码

    代码如下,保存到html文件打开:1234jquery实现tab切换-柯乐义554555657777879808182jQuery83Javascript84

    2021年12月20日
  • 解析MP4文件中的sps和pps[通俗易懂]

    解析MP4文件中的sps和pps[通俗易懂]一、MP4格式基本概念MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二、MP4封装格式核心概念1 MP4封装格式对应标准为ISO/IEC14496-12(信息技术视听对象编码的第12部分:ISO基本媒体文件格式/InformationtechnologyCodingofaudio-visualobjectsPart12

  • vue.js 添加 fastclick的支持

    vue.js 添加 fastclick的支持fastclick:处理移动端click事件300毫秒延迟1、兼容性iOS3及更高版本的移动SafariiOS5及更高版本的ChromeAndroid上的Chrome(ICS)OperaMobile11.5及以上版本Android2以来的Android浏览器PlayBookOS1及以上版本2、不应用FastClick的场景桌面浏览器;如果视口元标签中设置了width=

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号