android gallery 自定义边框+幻灯片

最近在项目中用到图片轮播,试了Gallery,ViewFlipper,ViewPager,感觉Gallery最符合需求,但是Gallery的系统边框很难看,项目中要求用自己的背景图片。

下面来看一下使用Gallery实现图片轮播

运行效果:

android gallery 自定义边框+幻灯片

布局文件:

[java] view
plain
copy
 
  1. <FrameLayout
  2. >
  3. />
  4. >
  5. />
  6. />
  7. />
  8. </FrameLayout>

其中, android:fadingEdge="none"消除图片两边的阴影。使用FrameLayout在底部显示小圆点

[java] view
plain
copy
 
  1. publicclassextends

    private
    privateint;

  2. private
  3. privatestaticfinalint;
  4. publicvoid
    super

    ].setImageDrawable(getBaseContext().getResources()

  5. newthis

    new
    , );

  6. privatevoid

    new

    privatenew

  7. publicvoid
    new
    ;
  8. * 开一个线程执行耗时操作
  9. */
    privatenew
  10. publicvoid
    super
    switch
    case:
  11. break
    default
    break

    * 设置小圆点显示,position会一直增加,如果要循环显示图片,需要对position取余,否则数组越界

  12. */
    privatenew
  13. publicvoid
    intlong
    int

    if) {

  14. ].setImageDrawable(getBaseContext()
  15. if)) {
  16. ].setImageDrawable(getBaseContext()
  17. if) {
  18. ]
  19. publicvoid
  20. * 点击事件,点击图片进入SecondActivity
  21. */
    privatenew
  22. publicvoidint
    long
    new
    thisclass

    }

ImageAdapter类,重写android.widget.BaseAdapter,用于描述图像信息。

[java] view
plain
copy
 
  1. publicclassextends
    private
    privateint

    privatestaticfinalint;

  2. public
    this
  3. publicint
    return
  4. publicint
    return
  5. publiclongint
    return
  6. publicint
    new

    new

    new
    , , , );

  7. return

    }

如果用系统背景,可以这样写

[java] view
plain
copy
 
  1. int
    private

    public

    // 获得Gallery组件的属性

    );

  2. }

在getview中设置

[java] view
plain
copy
 
  1. imageView.setBackgroundResource(mGalleryItemBackground);

Gallery组件属性信息定义在res\values\attrs.xml

[java] view
plain
copy
 
  1. <?xml version= encoding=?>
  2. >
  3. />
  4. </resources>
上一篇:C++拷贝构造函数详解(转载)


下一篇:获取浏览器组件属性对象