一个简单的StackView

来源:互联网 发布:学生英语答案数据 编辑:程序博客网 时间:2024/05/21 13:55

  StackView 是把View叠加在一块 的组件  可以通过拖动来显示下一个或上一个View  

               show.Previous()方法显示上一个View

              show.Next()方法显示下一个View


 不废话了  直接上代码吧

main.XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

   android:background="@drawable/de1"
    tools:context="${packageName}.${activityClass}" >

   <ImageView android:id="@+id/image"

                 android:layout_width="240dp"

                  android:layout_height="240dp"

                 android:loopViews="true"   />   *********设置当到达最后一张图片是  是否返回到第一张

      <LinearLayout

                    android:layout_width="match_parent"
                   android:layout_height="match_parent"
                    android:orientation="horizontal"  >

   <Button

               android:id="@+id/button1>

               android:layout_width="wrap_content"

                android:layout_width="wrap_content"

               android:background="@drawable/button"

               android:text="上一张"

              android:onClick="prev"/>

   

 <Button

               android:id="@+id/button2>

               android:layout_width="wrap_content"

                android:layout_width="wrap_content"

               android:background="@drawable/button"

               android:text="上一张"

              android:onClick="next"/>

 </LinearLayout>

 </LinearLayout>

java源代码

 public  class MyStack extends Activity  implements OnCLickListener{

              /**

               *一个简单的图片浏览器

            *

            */

          //定义一个访问图片的数组

              int [] images = new int[] { R.drawable.de1,R.drawable.de2,R.drawable.de3,R.drawable.de4};

              protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                   setContentView(R.layout.activity_main);

                  //通过Id获取组件

                StackView stack =  (StackView)findViewById(R.id.stack);

               //定义一个List集合 List集合的元素师Map

               List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>();

              for(int i =0 ;i<images.length;i++){
               Map<String,Object> listItem = new HashMap<String,Object>();

               listItem.put("image",images[i]);   Map是键---值类型的集合  键和值是一一对映 

               listItems.add(listItem);

              }

             //定义一个适配器

               SimpleAdapter adapter = new SimpleAdapter(this,listItems,android.R.layout.simple,

                                               new String[] {"image"},new int[] {R.id.imageView});

               //为stack设置适配器

               stack.setAdapter(adapter);

               }

              //实现方法

               public void prev(View v){

                      stack.showPrevious();

             }

            public void  next(View v){

                      stack.showNext();

           }

             

}


  simple.xml文件


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

   android:background="@drawable/de1"
    tools:context="${packageName}.${activityClass}" >

      <ImageView

                android:id="@+id/imageView"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"/>

 OK 这就完成了             















0 0
原创粉丝点击