StackView是AdapterViewAnimator的子类,用于显示Adapter提供的一系列View。StackView会以“堆叠”的方式来显示多个列表项
为了控制StackView显示的View组件,StackView提供了两种控制方式
拖走StackView中处于顶端的View,下一个View将会显示出来,将上一个View拖进StackView让他显示出来
通过调用吧StackView的showNext、shouPrevious控制显示下一个上一个组件
现在xml中定义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> listItems =
new ArrayList>();
for (int i = 0; i
Map listItem = new HashMap();
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();
}