gallery的画廊效果

gallery的画廊效果

大家好,又见面了,我是全栈君。

public class MainActivity extends AppCompatActivity {
  
  

private ImageSwitcher imageSwitcher;
private Gallery gallery;
private ImageAdapter imageAdapter;

@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageSwitcher = (ImageSwitcher) findViewById(R.id.imageswitch);
gallery = (Gallery) findViewById(R.id.gallery);

imageSwitcher.setInAnimation(this,android.R.anim.fade_in);
imageSwitcher.setOutAnimation(this,android.R.anim.fade_out);
imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
ImageView view = new ImageView(MainActivity.this);
view.setScaleType(ImageView.ScaleType.FIT_CENTER);
view.setLayoutParams(new ImageSwitcher.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT ));
//这种也可以,不过一定是FrameLayout
View inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.image_item, null);
return inflate;
}
});

imageAdapter = new ImageAdapter(MainActivity.this);
gallery.setAdapter(imageAdapter);

gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Integer[] integers = imageAdapter.getmImageIds();
// imageSwitcher.setImageResource(integers[position%integers.length]);
ImageView image = (ImageView) imageSwitcher.findViewById(R.id.image);
image.setImageResource(integers[position%integers.length]);

}
});


}


}

//视图中间的位置不知怎么获取

转载于:https://www.cnblogs.com/renjiemei1225/p/6738719.html

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108560.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 局域网内实现不同网段ip通信_局域网不同网段互访

    局域网内实现不同网段ip通信_局域网不同网段互访1.使用场景电脑使用网段ip为172.23.0.0/16,设备ip为192.168.1.0/24。将电脑和设备通过交换机连接起来,满足了电脑和设备处于同一局域网不同网段,不能进行网络通信。为了能够进行通信,比如,进行设备的密码重置等,都需要能够通信才能完成。2.参考方案可以在电脑的网络设置里的高级配置中,添加一个和设备处于同一网段的ip。需要注意的是,添加的ip之前要先使用ping命令判断局域网中是否存在相同ip的设备,为了避免ip冲突。有时你会发现ping不通的ip,添加之后也有不通的情况。这

    2022年9月12日
  • BZOJ3503:[CQOI2014]和谐矩阵(高斯消元,bitset)

    BZOJ3503:[CQOI2014]和谐矩阵(高斯消元,bitset)

    2022年4月2日
  • python 保留小数位数不够补0_python怎么赋值

    python 保留小数位数不够补0_python怎么赋值对于python的初学者,通常情况下,只需要输出结果符合预期即可,所以通常情况下,print就能够满足需求。print但是如果对于数据流转的情况下,我一开始没有找到合适的方法:例如,我想把1.2000保留三位有效数字,如果按照其他方法:a=1.2345print(round(a,3))输出的结果是:1.234末尾有0但是如果是要将1.2000保留三位有效数字呢:a=…

    2022年8月12日
  • jdk动态代理和cglib动态代理详解

    jdk动态代理和cglib动态代理详解本文内容概括:静态代理概述 基于继承方式实现静态代理 基于聚合方式实现静态代理 jdk动态代理实现 如何实现一个HashMap的动态代理类 cglib动态代理实现 jdk和cglib代理的区别 动态代理和静态代理的区别 spring如何选择jdk和cglib代理如上图,代理模式可分为动态代理和静态代理,我们比较常用的有动态代理中的jdk动态代理和Cglib代理,像spr…

    2022年5月16日
  • ubuntu安装 gcc 5.4.0

    ubuntu安装 gcc 5.4.0ubuntu安装gcc5.4版本Ubuntu高版本如何安装低版本GCC更改默认版本

    2022年7月24日
  • sklearn 安装_sklearn安装太慢

    sklearn 安装_sklearn安装太慢sklearn库的简介sklearn库  sklearn是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。  sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此在介绍sklea…

    2022年10月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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