stackView也是AdapterViewAnimator的子类,它显示Adapter提供的一系列View,StackView将会以堆叠的方式来显示多个列表项
布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="horizontal"
>
//android:loopViews:设置循环到最后一个组件时是否自动跳转到第一个组件。
<StackView
android:id="@+id/mStackView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:loopViews="true"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一个"
android:onClick="prev"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一个"
android:onClick="next"/>
<!--<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onButtonClick"
android:text="Button" />
在相应的Activity中实现onButtonClick方法,就可以实现Button绑定点击监听事件,非常简单方便。
public void onButtonClick(View view){
Toast.makeText(MainActivity.this, view.getId()+"", Toast.LENGTH_LONG).show();
}
但是,在TextView中,这个设置无效-->
</LinearLayout>
</LinearLayout>
cell.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<ImageView
android:id="@+id/image"
android:paddingLeft="10dp"
android:layout_gravity="center_horizontal"
android:layout_width="180dp"
android:layout_height="240dp"
/>
</LinearLayout>
image.png
敲黑板,这里是个需要注意的地方,这里要注意cell.xml的imageview的大小,我就是一开始没有设定大小所以我的两个button都看不到
下面是效果图: