当前位置: 首页 > news >正文

彩票的网站怎么做读图机 东莞网站建设

彩票的网站怎么做,读图机 东莞网站建设,哪些网站是react做的,怎样制作简单的网页使用几个月的IOS之后,发现IOS中侧滑删除俺就大家好#xff0c;自己开始学习Android已经差不多半年了吧#xff0c;前前后后看了不少的博客获益匪浅。渐渐的随着技术的提升#xff0c;慢慢感觉网上其它的一些功能的实现又不是那么完美#xff0c;今天就给大家带来一篇在Andr…使用几个月的IOS之后,发现IOS中侧滑删除俺就大家好自己开始学习Android已经差不多半年了吧前前后后看了不少的博客获益匪浅。渐渐的随着技术的提升慢慢感觉网上其它的一些功能的实现又不是那么完美今天就给大家带来一篇在Android中完全仿照IOS侧滑删除的效果。首先我们来看一下实现的效果如何:           第一张图片是展示删除的效果,删除时会有上缩动画效果第二张图片是展示滑出删除按钮时的事件抢占有删除按钮存在时需要抢占掉ListView的滑动事件而且保证至多有1个删除按钮显示所以说实现完美的侧滑删除效果需要了解Android中的事件分发机制如果有不明白的同学可以去郭神:鸿前辈:这两位前辈的博客里看事件分发章节的内容。好了我们废话不多说进入主题。本例的侧滑删除用的是HorizontalScrollView来实现的。首先我们先创建我们的activity_main.xml主布局文件xmlns:toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:contextcom.example.horizontalslidelistview.MainActivity android:idid/listviewandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/是不是很简单仅仅是只有一个自定义的ListView,不过我们先放过这个自定义的ListVIew再来看看ListView中item的布局文件item_horizontal_slide_listview.xmlandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:scrollbarsnone android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:orientationhorizontal android:idid/item_textandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:gravitycenter_verticalandroid:background#EEEEEEandroid:paddingLeft20dpandroid:textColor#FF0000android:textSize20sp /android:idid/item_deleteandroid:layout_widthwrap_contentandroid:layout_heightmatch_parentandroid:background#FF0000android:text删除 /如果需要复杂一点儿的item样式那就把item_text换成自己想要的布局就好了~然后看我们的重头戏,adapterpublic class HorizontalSlideAdapter extends ArrayAdapter {/** 屏幕宽度 */private int mScreenWidth;/** 删除按钮事件 */private DeleteButtonOnclickImpl mDelOnclickImpl;/** HorizontalScrollView左右滑动事件 */private ScrollViewScrollImpl mScrollImpl;/** 布局参数,动态让HorizontalScrollView中的TextView宽度包裹父容器 */private LinearLayout.LayoutParams mParams;/** 记录滑动出删除按钮的itemView */public HorizontalScrollView mScrollView;/** touch事件锁定,如果已经有滑动出删除按钮的itemView,就屏蔽下一整次(down,move,up)的onTouch操作 */public boolean mLockOnTouch false;public HorizontalSlideAdapter(Context context, List objects) {super(context, 0, objects);// 搞到屏幕宽度Display defaultDisplay ((Activity) context).getWindowManager().getDefaultDisplay();DisplayMetrics metrics new DisplayMetrics();defaultDisplay.getMetrics(metrics);mScreenWidth metrics.widthPixels;mParams new LinearLayout.LayoutParams(mScreenWidth,LinearLayout.LayoutParams.MATCH_PARENT);// 初始化删除按钮事件与item滑动事件mDelOnclickImpl new DeleteButtonOnclickImpl();mScrollImpl new ScrollViewScrollImpl();}Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder null;if (convertView null) {holder new ViewHolder();convertView View.inflate(getContext(),R.layout.item_horizontal_slide_listview, null);holder.scrollView (HorizontalScrollView) convertView;holder.scrollView.setOnTouchListener(mScrollImpl);holder.infoTextView (TextView) convertView.findViewById(R.id.item_text);// 设置item内容为fill_parent的holder.infoTextView.setLayoutParams(mParams);holder.deleteButton (Button) convertView.findViewById(R.id.item_delete);holder.deleteButton.setOnClickListener(mDelOnclickImpl);convertView.setTag(holder);} else {holder (ViewHolder) convertView.getTag();}holder.position position;holder.deleteButton.setTag(holder);holder.infoTextView.setText(getItem(position));holder.scrollView.scrollTo(0, 0);return convertView;}static class ViewHolder {private HorizontalScrollView scrollView;private TextView infoTextView;private Button deleteButton;private int position;}/** HorizontalScrollView的滑动事件 */private class ScrollViewScrollImpl implements OnTouchListener {/** 记录开始时的坐标 */private float startX 0;SuppressLint(ClickableViewAccessibility)Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:// 如果有划出删除按钮的itemView,就让他滑回去并且锁定本次touch操作,解锁会在父组件的dispatchTouchEvent中进行if (mScrollView ! null) {scrollView(mScrollView, HorizontalScrollView.FOCUS_LEFT);mScrollView null;mLockOnTouch true;return true;}startX event.getX();break;case MotionEvent.ACTION_UP:HorizontalScrollView view (HorizontalScrollView) v;// 如果滑动了50个像素,就显示出删除按钮if (startX event.getX() 50) {startX 0;// 因为公用一个事件处理对象,防止错乱,还原startX值scrollView(view, HorizontalScrollView.FOCUS_RIGHT);mScrollView view;} else {scrollView(view, HorizontalScrollView.FOCUS_LEFT);}break;}return false;}}/** HorizontalScrollView左右滑动 */public void scrollView(final HorizontalScrollView view, final int parameter) {view.post(new Runnable() {Overridepublic void run() {view.pageScroll(parameter);}});}/** 删除事件 */private class DeleteButtonOnclickImpl implements OnClickListener {Overridepublic void onClick(View v) {final ViewHolder holder (ViewHolder) v.getTag();Toast.makeText(getContext(), 删除第 holder.position 项,Toast.LENGTH_SHORT).show();Animation animation AnimationUtils.loadAnimation(getContext(),R.anim.anim_item_delete);holder.scrollView.startAnimation(animation);animation.setAnimationListener(new AnimationListener() {Overridepublic void onAnimationStart(Animation animation) {}Overridepublic void onAnimationRepeat(Animation animation) {}Overridepublic void onAnimationEnd(Animation animation) {remove(getItem(holder.position));}});}}}有点儿长首先是获取当前屏幕宽度态的给每一个ItemView让他填充父容器(因为宽度是屏幕宽度)。再之后就是对onTouch事件的处理这一点注释里面写的比较详细就不再赘述了。看到这儿也许就会有点儿纳闷了唉 既然吧事件锁上了怎么没见打开啊?嗯,这也是我当时在编写这个侧滑时遇到的问题我们不仅仅是只让删除按钮只出现一个就行了我们还需要在出现删除按钮时也让ListView的滑动失效!
http://www.zqtcl.cn/news/527409/

相关文章:

  • 空间 两个网站购物网站建设图标大全
  • 17.zwd一起做网站广州网站制作费用
  • 如何选择网站建设公司网站开发公司vue框架
  • 网站建设设计外包公司360个人网站建设
  • 什么网站专做店铺公司注销的网站备案
  • 不属于c2c网站的是带货视频怎么制作教程
  • 3g小说网站怎么自己用手机做网站
  • 广告行业包括网站建设吗关键词优化排名易下拉系统
  • 皖icp网站建设地方汽车网站模板购买
  • 在哪个网站做科目一考试题域名多少钱一年
  • 红孩子母婴网站开发背景建网站可行性分析
  • 北京 网站设计飞沐商城网站技术方案
  • 大连网站建设价格低怎么加入网站做微商城
  • 惠山网页制作北京优化推广
  • 武威做网站网站流量分析怎么做
  • 用动态和静态设计一个网站cname wordpress
  • php装修门户网站源码PHP是做网站最好的
  • 莆田哪里有网站开发北京大企业公司排名
  • 网站建设运营的成本丰宁县有做网站的吗
  • 网站建设如何上传文件中小企业网站建设好么
  • 安徽建设部网站国际网站 建设
  • 沈阳开发网站小程序名称大全
  • 做网站大概价格西安做网站电话
  • 前端做微网站台州做网站哪家公司好
  • 电信改公网ip可以做网站吗销售平台建设方案
  • 免费的公司网站怎么做网站建设招聘需求
  • 徐州金桥建设监理有限公司网站那个网站做系统好
  • 浙江网站制作做一个自我介绍的网页
  • 郑州做网站公司有多少网站建设需要自备什么
  • 齐齐哈尔网站seo重庆旅游