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 这就完成了