当图库视图正在切换图片时,我如何获取当前显示的图像位置?
当我们在画廊视图中滑动图像时,可以获取位置,您可以覆盖画廊视图的setOnItemSelectedListener
。
我们从该侦听器中有两种方法,如下:
avatar_gallery.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,
View view,
int position,
long id){
Log.v("Selected", ""+position);
}
@Override
public void onNothingSelected(AdapterView<?> parent){
}
}
我认为这是不可能的,因为适配器视图的工作方式。基本上,如果不是全部,大多数调用适配器视图的适配器必须在UI线程上才能正常工作。而动画绝对是在UI线程上进行的。所以,由于它们两者不能在同一线程上同时发生,你实际上不能(准确地)读取位置,直到滑动动画结束。
如果你在任何其他线程上调用适配器的getSelectedItemPosition()方法,它可能会给你当前的位置,但也可能会有一段时间的过时,因为我猜测UI线程将更新值而不检查独占锁。