ITPub博客

首页 > 移动开发 > ANDROID > android中StackView

android中StackView

原创 ANDROID 作者:山有木xi 时间:2020-05-18 14:15:55 0 删除 编辑

StackView是AdapterViewAnimator的子类,用于显示Adapter提供的一系列View。StackView会以“堆叠”的方式来显示多个列表项

为了控制StackView显示的View组件,StackView提供了两种控制方式

  • 拖走StackView中处于顶端的View,下一个View将会显示出来,将上一个View拖进StackView让他显示出来

  • 通过调用吧StackView的showNext、shouPrevious控制显示下一个上一个组件

现在xml中定义StackView组件:

<StackView
  android:id="@+id/mStackView"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:loopViews="true" />

如何在MainActivity中写入:

public class MainActivity extends Activity
{
 StackView stackView;
 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
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  stackView = (StackView) findViewById(R.id.mStackView);
  List<Map<String, Object>> listItems =
    new ArrayList<Map<String, Object>>();
  for (int i = 0; i < imageIds.length; i++){
   Map<String, Object> listItem = new HashMap<String, Object>();
   listItem.put("image", imageIds[i]);
   listItems.add(listItem);
  }
  SimpleAdapter simpleAdapter = new SimpleAdapter(this,listItems, R.layout.cell, new String[] { "image" },
    new int[] { R.id.image1 });
  stackView.setAdapter(simpleAdapter);
 }
 
 public void next(View view)
 {
  stackView.showNext();
 }
}
public void prev(View view)
 {
  stackView.showPrevious();
 }


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917874/viewspace-2692721/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: iptables和firewalld
下一篇: UTF-8/utf8mb4
请登录后发表评论 登录
全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    147
  • 访问量
    390769