最近在项目中使用Gallery时重写onItemSelected方法并在里面进行UI操作,发现Gallery左右滑动时不流畅,跳跃感很强,折腾了好几天终于在stackoverflow上发现了解决办法,重写onlayout和onscroll方法。
废话少说上代码
package com.hzd.groupurchasing.view; import android.content.Context; import android.os.SystemClock; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.MotionEvent; import android.widget.Gallery; public class MyGallery extends Gallery { private static final int OFFSETX = 100; public MyGallery(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public MyGallery(Context context, AttributeSet attrs) { super(context, attrs); } public MyGallery(Context context) { super(context); } float startX; private long mLastScrollEvent; @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { // XXX Hack alert! // Ignore layout calls if we've had a scroll event in the last 250 msec; // that'll ignore the per-second layout calls we get through BooPlayerView's // updating. long now = SystemClock.uptimeMillis(); if (Math.abs(now - mLastScrollEvent) > 250) { super.onLayout(changed, l, t, r, b); } } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { mLastScrollEvent = SystemClock.uptimeMillis(); return super.onScroll(e1, e2, distanceX, distanceY); } }
原地址:http://stackoverflow.com/questions/8347965/android-gallery-onitemselected-causes-scrolling-to-snap
相关推荐
智能家居系统 选项选取事件OnItemSelected.doc 学习资料 复习资料 教学资源
package e gallery; import android app Activity; import android os Bundle; import android view LayoutInflater; import android view View; import android view ViewGroup; import android view ViewGroup ...
17、Android中使用Menu时可能需要重写的方法(AC) A、onCreateOptionsMenu() B、onCreateMenu() C、onOptionsItemSelected() D、onItemSelected() 18、关于ContentValues类的说法正确的是(A) A、他和HashTable比较...
Spinner2是对默认Android的spinner的重新实现,并提供了一种用于控件选择行为的简单方法。 支持的功能 分配spinner.setAdapter(adapter, withAction);启用/禁用onItemSelected(AdapterView<?> arg0, View arg...
Resource Description can be explained, fragments of the document outlines the e-book, the source code to fill in here will be described in detail in our recommendation, more likely to be others to ...
public void onItemSelected(AdapterView<?> adapter, View view, int position, long id) { mSwitcher.setImageURI(imgList1.get(position).getUri()); pos = position; } public void ...
第5讲 客观题自测练习 ...A.OnItemSelected()方法 B.findViewById()方法 C.getText()方法 D.getSelectItem()方法 正确答案:D 4单选(1分)关于列表选择框下列说法错误的是 A.通常只能选择一个选择项 B
然后动态生成每个下拉项对应的View,每个下拉项View由LinearLayout中包含一个ImageView及一个TextView构成,最后为为Spinner设置内容适配器: sp.setOnItemSelectedListener(//设置选项选中的监听器 new ...
实现接口ITMSearchInShopSingleSelectCallback,自定义onItemSelected(View view)和onItemUnSelected(View view)两个方法。 在您的 XML 或代码中使用 SingleSelectLinearLayout 作为 LinearLayout。更重要的是? 您...
问题:多次调用AutoScroll()自动播放时,播放速度回成倍增加,这个因为作者没有判断当前是否正在播放。我的demo中对这个问题进行了处理。项目地址:https://github.com/zhaoxin1943/CarouselLib 效果图:如何使用...
Material Spinner ...Add the spinner to your layout XML: ... @Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) { Snackbar.make(view, "Clic
底部导航栏 精美而生动的底部导航。 导航栏使用您当前的主题,但是您可以随意对其进行自定义。 预习 页面预览 自定义(可选) 底部导航栏 iconSize项目图标的大小 ...title选择此项目时,图标旁边将显示的文本
搜索小部件 Flutter软件包提供了一个搜索小部件,用于从数据列表中选择一个选项。...onItemSelected : (item) { //Do whatever you would like setState (() { _selectedItem = item; }); }, 弹出列表项
通过创建线程对象,然后自动调用了run()方法,到达设置的时间时自动跳转启动进入下一个Activity界面。 3.1.2程序 //定义欢迎界面类 public class LaunchActivity extends Activity{ @Override protected void ...
setOnItemSelectedListener(new " "OnItemSelectedListener() { " "@Override " "public void onItemSelected(AdapterView<?> parent, View view, " "int position, " "long id) { " "tv。setText("您选择...
android中微调器输入的样板 要记住的事情,您需要实现 onItemSelectedListener 接口,然后在 public void onItemSelected( AdapterView<?> parent, View view, int pos, long id) { // An item was selected...
React选择下拉菜单 安装 npm install react-select-dropdown 可以与browserify和React一起使用。 定义 var SelectDropdown = require('react-select-dropdown')...onItemSelected: function(item){ console.log('You
:speech_balloon: :winking_face_with_tongue: 像素表情选择器表情选择器用法import { EmoteSelector } from ... from ( 'emote_heart' ) , ] , onItemSelected : ( indexSelected ) => { console . log ( "Item selec
public void onItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case PLAY_SELECTION: break; case ADD_TO_PLAYLIST: break...