服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android开发实现的自动换图片、轮播图效果示例

Android开发实现的自动换图片、轮播图效果示例

2022-10-07 16:37水中鱼之1999 Android

这篇文章主要介绍了Android开发实现的自动换图片、轮播图效果,涉及Android ImageView及界面布局相关操作技巧,需要的朋友可以参考下

本文实例讲述了Android开发实现的自动换图片、轮播图效果。分享给大家供大家参考,具体如下:

50行代码急速实现轮播图:

先看效果:

Android开发实现的自动换图片、轮播图效果示例

Android开发实现的自动换图片、轮播图效果示例

两个例子没太大区别,

不过i是布局文件中控件的Height不一样罢了这里一第二个为例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public class MainActivity extends Activity {
  int[] imageIds = new int[]{
      R.drawable.a00,R.drawable.a01,R.drawable.a02,R.drawable.a3,R.drawable.a4,R.drawable.a5,
      R.drawable.a6,R.drawable.a7,R.drawable.a8,R.drawable.a9
  };
  private AdapterViewFlipper flipper ;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项
    flipper = (AdapterViewFlipper) findViewById(R.id.flipper);
    BaseAdapter adapter = new BaseAdapter() {
      @Override
      public int getCount() {
        return imageIds.length;
      }
      @Override
      public Object getItem(int position) {
        return position;
      }
      @Override
      public long getItemId(int position) {
        return position;
      }
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
        //创建一个ImageView
        ImageView imageView = new ImageView(MainActivity.this);
        imageView.setImageResource(imageIds[position]);
        //设置ImageView的缩放类型
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        //为ImageView设置布局参数
        imageView.setLayoutParams(new ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
        return imageView;
      }
    };
    flipper.setAdapter(adapter);
  }
  public void prev(View source){
    //显示上一个组件
    flipper.showPrevious();
    //停止自动播放
    flipper.stopFlipping();
  }
  public void next(View source){
    //显示下一个组件
    flipper.showNext();
    //停止自动播放
    flipper.stopFlipping();
  }
  public void auto(View source){
    //开始自动播放
    flipper.startFlipping();
  }
}

嗯好像是五十多行。。无所谓了

顺便给下**布局文件:**无脑定义罢了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/container"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">
  <AdapterViewFlipper
    android:id="@+id/flipper"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:flipInterval="5000"
    android:layout_alignParentTop="true"/>
  <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:onClick="prev"
    android:text="下一个" />
  <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:onClick="next"
    android:text="上一个" />
  <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:onClick="auto"
    android:text="自动播放" />
</RelativeLayout>

搞定 啥都不要 就这么简单~

希望本文所述对大家Android程序设计有所帮助。

原文链接:https://blog.csdn.net/qq_43377749/article/details/84347089

延伸 · 阅读

精彩推荐