案例中有"上一个""下一个""自动播放",但是我觉得可以更加完善一下,点击自动播放,按钮变成"停止播放",在按"停止播放"变为"自动播放",同样的排除在自动播放时,按下"上一个"和"下一个"均变为 "自动播放"
MainActivity.java
-
public class MainActivity extends Activity
-
{
-
int[] imageIds = new int[]
-
{
-
R.drawable.shuangzi, R.drawable.shuangyu,
-
R.drawable.chunv, R.drawable.tiancheng, R.drawable.tianxie,
-
R.drawable.sheshou, R.drawable.juxie, R.drawable.shuiping, R.drawable.shizi, R.drawable.baiyang, R.drawable.jinniu,
-
R.drawable.mojie};
-
private AdapterViewFlipper flipper;
-
private Button button_auto;
-
@Override
-
public void onCreate(Bundle savedInstanceState)
-
{
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
flipper = (AdapterViewFlipper) findViewById(R.id.flipper);
-
button_auto = (Button) findViewById(R.id.button_auto);
-
// 创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项
-
BaseAdapter adapter = new BaseAdapter()
-
{
-
@Override
-
public int getCount()
-
{
-
return imageIds.length;
-
}
-
@Override
-
public Object getItem(int position)
-
{
-
return position;
-
}
-
@Override
-
public long getItemId(int position)
-
{
-
return position;
-
}
-
// 该方法返回的View代表了每个列表项
-
@Override
-
public View getView(int position, View convertView, ViewGroup parent)
-
{
-
// 创建一个ImageView
-
ImageView imageView = new ImageView(MainActivity.this);
-
imageView.setImageResource(imageIds[position]);
-
// 设置ImageView的缩放类型
-
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
-
// 为imageView设置布局参数
-
imageView.setLayoutParams(new ViewGroup.LayoutParams(
-
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
-
return imageView;
-
}
-
};
-
flipper.setAdapter(adapter);
-
}
-
public void prev(View source)
-
{
-
// 显示上一个组件
-
flipper.showPrevious();
-
// 停止自动播放
-
flipper.stopFlipping();
-
button_auto.setText("自动播放");
-
}
-
public void next(View source)
-
{
-
// 显示下一个组件。
-
flipper.showNext();
-
// 停止自动播放
-
flipper.stopFlipping();
-
button_auto.setText("自动播放");
-
}
-
public void auto(View source)
-
{
-
String sting=button_auto.getText().toString();
-
if (sting == "自动播放") {
-
// 开始自动播放
-
flipper.startFlipping();
-
button_auto.setText("停止播放");
-
} else {
-
flipper.stopFlipping();
-
button_auto.setText("自动播放");
-
}
-
}
-
}
|
XML文件
-
<?xml version="1.0" encoding="utf-8" ?>
-
<RelativeLayout
-
xmlns:android="http://schemas.android.com/apk/res/android"
-
android:layout_width="match_parent"
-
android:layout_height="match_parent">
-
<AdapterViewFlipper
-
android:id="@+id/flipper"
-
android:layout_width="match_parent"
-
android:layout_height="match_parent"
-
android:flipInterval="2000"
-
android:layout_alignParentTop="true"/>
-
<Button
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:layout_alignParentBottom="true"
-
android:layout_alignParentLeft="true"
-
android:onClick="prev"
-
android:text="上一个"/>
-
<Button
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:layout_alignParentBottom="true"
-
android:layout_centerHorizontal="true"
-
android:onClick="next"
-
android:text="下一个"/>
-
<Button
-
android:id="@+id/button_auto"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:layout_alignParentBottom="true"
-
android:layout_alignParentRight="true"
-
android:onClick="auto"
-
android:text="自动播放"/>
-
</RelativeLayout>
|
效果