StackView是AdapterViewAnimator的子类,它用于显示Adapter提供的一系列View。StackView将会以“堆叠”的方式来显示多个列表项。
为了控制StackView现实的View组将,StackView提供了如下两种控制方式。
  1. 拖走StackView中处于顶端的View,下一个View将会显示出来。将上一个View拖进StackView,将使之显示出来。
  2. 通过调用StackView的showNext()、showPrevious()控制显示下一个、上一个组件。

下面通过实例示范了StackView的功能与用法。

该实例将会使用StackView将照片叠在一起,并允许用户通过拖动或单击按钮来显示上一个、下一个图片。

public class MainActivity extends AppCompatActivity {

    private StackView stackView;
private int[] imageIds = new int[]{R.drawable.bomb5, R.drawable.bomb6,
R.drawable.bomb7, R.drawable.bomb8, R.drawable.bomb9,
R.drawable.bomb10, R.drawable.bomb11, R.drawable.bomb12,
R.drawable.bomb13, R.drawable.bomb14, R.drawable.bomb15,
R.drawable.bomb16}; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
stackView = findViewById(R.id.mStackView);
//创建一个List对象,List对象的元素是Map
List<Map<String, Object>> listItems = new ArrayList<>();
for (int i = 0; i < imageIds.length; i++) {
Map<String, Object> listItem = new HashMap<>();
listItem.put("image", imageIds[i]);
listItems.add(listItem);
}
//创建一个SimpleAdapter
SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems,
R.layout.cell, /* /layout/cell.xml文件作为单元格布局 */
new String[]{"image"},new int[]{R.id.image1});
stackView.setAdapter(simpleAdapter);
}
public void prev(View view) {
//显示上一个组件
stackView.showPrevious();
}
public void next(View view) {
//显示上一个组件
stackView.showNext();
}
}
上面代码中红色字体创建一个SimpleAdapter,并将SimpleAdapter设置为该SimpleAdapter的Adpater,这样该StackView将会显示该SimpleAdapter包含的一系列View组件。
 

最新文章

  1. Asp.Net使用代理IP远程获取数据
  2. android获取mac地址方法
  3. 打造强大的BaseModel(1):让Model自我描述
  4. Java环境的配置
  5. Dockerfile
  6. 使用POI 导入excel
  7. Codeforces Round #431 (Div. 1)
  8. 在Java编码中,如何减少bug数量
  9. get、post、put、delete请求方式
  10. NumPy入门
  11. [SCOI2016]幸运数字
  12. quartus 一种管脚分配方法
  13. python之psutil模块详解(Linux)--小白博客
  14. mysql学习之路_高级数据操作
  15. [日常] Go语言圣经-基于select的多路复用习题
  16. It was not possible to find any compatible framework version
  17. Copying and Cloning Objects
  18. 1.1 Linux中的进程 --fork、孤儿进程、僵尸进程、文件共享分析
  19. Windows 2008开启远程桌面连接
  20. MSTP多生成树的配置

热门文章

  1. 基于WeChat的消息存储备份、远程控制、小功能项目开源分享计划
  2. 读《深入理解Elasticsearch》点滴-对象类型、嵌套文档、父子关系
  3. 【集群监控】JMX exporter+Prometheus+Grafana监控Hadoop集群
  4. 检测MySQL主从是否异常
  5. Creator3D长什么样?看看官方惊艳的DEMO就知道了,附在线体验!
  6. ng的显示与隐藏
  7. 【Java】JDK安装及环境变量配置
  8. 电信资源管理系统:基于 H5 叠加 OpenLayers3 GIS
  9. SpringBoot第二十五篇:SpringBoot与AOP
  10. .Net Core AA.FrameWork应用框架介绍