android开发分享Android使用Gallery实现照片拖动的特效

今天要分享一个非常简单的功能:使用android原生控件gallery实现照片拖动的特效实现思路如下: 在布局文件中定义一个gallery控件 由于要显示多张图,为了方便,我直接引用了androi

今天要分享一个非常简单的功能:

使用android原生控件gallery实现照片拖动的特效

实现思路如下:

  1. 在布局文件中定义一个gallery控件
  2. 由于要显示多张图,为了方便,我直接引用了android原生的图片资源
  3. gallery只是一个控件,为了将图片数据跟控件进行绑定,还需要一个继承baseadapter的自定义适配器

源码如下:

1、主activity和自定义内部类imageadapter:

  import android.app.activity;  import android.content.context;  import android.os.bundle;  import android.util.log;  import android.view.view;  import android.view.viewgroup;  import android.widget.baseadapter;  import android.widget.gallery;  import android.widget.imageview;  import com.example.memorydemo.r;    public class simplegallery extends activity {      private static final string tag = "simplegallery";      @override    protected void oncreate(bundle onsavedinstance) {      super.oncreate(onsavedinstance);      setcontentview(r.layout.simple_gallery_layout);        gallery gallery = findviewbyid(r.id.gallery);      gallery.setadapter(new imageadapter(this));    }      private class imageadapter extends baseadapter {        // 这里我们使用android原生的资源图标      private int[] imageids = {          android.r.drawable.btn_minus,          android.r.drawable.btn_radio,          android.r.drawable.ic_lock_idle_low_battery,          android.r.drawable.ic_menu_camera };        private context mcontext;        public imageadapter(context context) {        mcontext = context;      }        @override      public int getcount() {        return imageids.length;      }        @override      public object getitem(int position) {        return imageids[position];      }        @override      public long getitemid(int position) {        return position;      }        @override      public view getview(int position, view convertview, viewgroup parent) {        imageview imageview;        if (convertview == null) {          log.i(tag, "convertview is null, create new imageview");          imageview = new imageview(mcontext);        } else {          log.i(tag, "cast convertview to imageview");          imageview = (imageview) convertview;        }          imageview.setimageresource(imageids[position]);        imageview.setscaletype(imageview.scaletype.fit_xy);  						  		  // 注意这里要用gallery.layoutparams作为布局参数类型,源码中给出了建议(views given to the gallery should use   			// gallery.layoutparams s their ayout parameters type)  			// 由于android原生图片很小,我将高度设置为 500,方便看效果        imageview.setlayoutparams(new gallery.layoutparams(viewgroup.layoutparams.match_parent, 500));        return imageview;      }    }  }  

2、布局文件 simple_gallery_layout.xml如下:

  <?xml version="1.0" encoding="utf-8"?>  <linearlayout xmlns:android="https://schemas.android.com/apk/res/android"         android:layout_width="match_parent"         android:layout_height="match_parent">      <gallery        android:id="@+id/gallery"        android:layout_width="match_parent"        android:layout_height="match_parent" />    </linearlayout>  

注意:

gallery控件其实已经被废弃了,建议用 horizontalscrollview 和 viewpager 代替,源码中是这么解释的:

@deprecated this widget is no longer supported. other horizontally scrolling widgets include {@link horizontalscrollview} and {@link android.support.v4.view.viewpager} from the support library.

后续会分享 horizontalscrollview 和 viewpager这两个控件是如何使用的。

以上就是android使用gallery实现照片拖动的特效的详细内容,更多关于android 照片拖动特效的资料请关注<计算机技术网(www.ctvol.com)!!>其它相关文章!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/889658.html

(0)
上一篇 2021年10月19日
下一篇 2021年10月19日

精彩推荐