AdapterViewFlipper实现翻滚广告效果
16lz
2021-01-23
偶然发现了一个AdapterViewFlipper类,是继承自AdapterViewAnimator,发现这个类可以实现翻滚广告那种效果。
废话不多说,直接上效果:
这种效果还是很多地方需要的吧,比较主播头像切换~哈哈哈~
下面直接上代码,硬菜来啦:
- 布局代码:
<AdapterViewFlipper android:id="@+id/id_image" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginBottom="100dp" android:animateFirstView="true" --第一个默认显示的view是否需要动画--> android:autoStart="true" android:flipInterval="4000" android:inAnimation="@animator/x_in" android:loopViews="true" android:outAnimation="@animator/x_out" app:layout_constraintBottom_toBottomOf="@+id/id_button1" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" tools:listitem="@layout/item">AdapterViewFlipper>
- 代码显示
flipper= (AdapterViewFlipper) findViewById(R.id.id_image); flipper.setAdapter(new BaseAdapter() { @Override public int getCount() { return images.length; } @Override public Object getItem(int i) { return images[i]; } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if(view==null){ view=new ImageView(MainActivity.this); } ImageView imageView= (ImageView) view; imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setImageResource(images[i]); return imageView; } }); findViewById(R.id.id_next).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { flipper.showNext(); } }); findViewById(R.id.id_previous).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { flipper.showPrevious(); } });
- 这样就可以简单的使用AdapterViewFlipper了,主要这个类继承自AdapterViewAnimator,当然AdapterViewFlipper也有setOnItemClick,setOnItemSelected这些方法,自己去实验哈~~
更多相关文章
- 如何在Android上编写高效的Java代码
- Android冷启动实现app秒开的实现代码
- Android基于多触控的图片缩放和拖动代码实现
- Android中使用代码控制Wifi及数据连接网络开关
- Android WebView中的JavaScript代码使用
- Android Animation 高手必读 之一 Tweened Animations 代码实现