android中StackView

山有木xi發表於2020-05-18

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部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2692721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章