• AdapterViewFlipper功能 自动播放的图片库


    案例中有"上一个""下一个""自动播放",但是我觉得可以更加完善一下,点击自动播放,按钮变成"停止播放",在按"停止播放"变为"自动播放",同样的排除在自动播放时,按下"上一个"和"下一个"均变为 "自动播放"

    MainActivity.java

    1. public class MainActivity extends Activity
    2. {
    3. int[] imageIds = new int[]
    4. {
    5. R.drawable.shuangzi, R.drawable.shuangyu,
    6. R.drawable.chunv, R.drawable.tiancheng, R.drawable.tianxie,
    7. R.drawable.sheshou, R.drawable.juxie, R.drawable.shuiping, R.drawable.shizi, R.drawable.baiyang, R.drawable.jinniu,
    8. R.drawable.mojie};
    9. private AdapterViewFlipper flipper;
    10. private Button button_auto;
    11. @Override
    12. public void onCreate(Bundle savedInstanceState)
    13. {
    14. super.onCreate(savedInstanceState);
    15. setContentView(R.layout.main);
    16. flipper = (AdapterViewFlipper) findViewById(R.id.flipper);
    17. button_auto = (Button) findViewById(R.id.button_auto);
    18. // 创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项
    19. BaseAdapter adapter = new BaseAdapter()
    20. {
    21. @Override
    22. public int getCount()
    23. {
    24. return imageIds.length;
    25. }
    26. @Override
    27. public Object getItem(int position)
    28. {
    29. return position;
    30. }
    31. @Override
    32. public long getItemId(int position)
    33. {
    34. return position;
    35. }
    36. // 该方法返回的View代表了每个列表项
    37. @Override
    38. public View getView(int position, View convertView, ViewGroup parent)
    39. {
    40. // 创建一个ImageView
    41. ImageView imageView = new ImageView(MainActivity.this);
    42. imageView.setImageResource(imageIds[position]);
    43. // 设置ImageView的缩放类型
    44. imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    45. // imageView设置布局参数
    46. imageView.setLayoutParams(new ViewGroup.LayoutParams(
    47. LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    48. return imageView;
    49. }
    50. };
    51. flipper.setAdapter(adapter);
    52. }
    53. public void prev(View source)
    54. {
    55. // 显示上一个组件
    56. flipper.showPrevious();
    57. // 停止自动播放
    58. flipper.stopFlipping();
    59. button_auto.setText("自动播放");
    60. }
    61. public void next(View source)
    62. {
    63. // 显示下一个组件。
    64. flipper.showNext();
    65. // 停止自动播放
    66. flipper.stopFlipping();
    67. button_auto.setText("自动播放");
    68. }
    69. public void auto(View source)
    70. {
    71. String sting=button_auto.getText().toString();
    72. if (sting == "自动播放") {
    73. // 开始自动播放
    74. flipper.startFlipping();
    75. button_auto.setText("停止播放");
    76. } else {
    77. flipper.stopFlipping();
    78. button_auto.setText("自动播放");
    79. }
    80. }
    81. }

    XML文件

    1. <?xml version="1.0" encoding="utf-8" ?>
    2. <RelativeLayout
    3. xmlns:android="http://schemas.android.com/apk/res/android"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent">
    6. <AdapterViewFlipper
    7. android:id="@+id/flipper"
    8. android:layout_width="match_parent"
    9. android:layout_height="match_parent"
    10. android:flipInterval="2000"
    11. android:layout_alignParentTop="true"/>
    12. <Button
    13. android:layout_width="wrap_content"
    14. android:layout_height="wrap_content"
    15. android:layout_alignParentBottom="true"
    16. android:layout_alignParentLeft="true"
    17. android:onClick="prev"
    18. android:text="上一个"/>
    19. <Button
    20. android:layout_width="wrap_content"
    21. android:layout_height="wrap_content"
    22. android:layout_alignParentBottom="true"
    23. android:layout_centerHorizontal="true"
    24. android:onClick="next"
    25. android:text="下一个"/>
    26. <Button
    27. android:id="@+id/button_auto"
    28. android:layout_width="wrap_content"
    29. android:layout_height="wrap_content"
    30. android:layout_alignParentBottom="true"
    31. android:layout_alignParentRight="true"
    32. android:onClick="auto"
    33. android:text="自动播放"/>
    34. </RelativeLayout>

    效果

  • 相关阅读:
    [转][LeetCode]Longest Common Prefix ——求字符串的最长公共前缀
    [转]最长回文子串——4种解法
    [转]通过金矿模型介绍动态规划
    一句话说清楚什么是闭包函数
    [转]as3事件流机制彻底理解
    Eclipse 快捷键
    文件打包与解压缩
    第5节 环境变量与文件查找
    vim的多标签
    java思维导图
  • 原文地址:https://www.cnblogs.com/wwjldm/p/6929563.html
Copyright © 2020-2023  润新知