Android 如何找到水平列表视图(回收器视图)的中间索引
我有一个水平列表视图,我想在其中查找屏幕的每次中间索引,以便更改其大小。基本上,我想在每次滑动和停止时对Listview的中间索引执行类似鱼眼效果的操作。 请给我提个建议Android 如何找到水平列表视图(回收器视图)的中间索引,android,Android,我有一个水平列表视图,我想在其中查找屏幕的每次中间索引,以便更改其大小。基本上,我想在每次滑动和停止时对Listview的中间索引执行类似鱼眼效果的操作。 请给我提个建议 @Override public void onBindViewHolder(ViewHolder holder, final int position) { try { holder.image.setImageDrawable(cntx.getPackageManager().getApp
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
try {
holder.image.setImageDrawable(cntx.getPackageManager().getApplicationIcon(apps.get(position).getAppname()));
Log.e("TAG", "position: "+position );
if(position%4==0) {
holder.image.setMinimumHeight(250);
holder.image.setMinimumWidth(250);
}
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PackageManager pm = cntx.getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage(apps.get(position).getAppname());
cntx.startActivity(launchIntent);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
您可以使用getItemCount()方法获取列表的中间索引
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
int middleIndex=getItemCount()/2;
}
这将为您提供中间索引值。您可以在此基础上编写条件。列表视图具有
getFirstVisiblePosition()
和getLastVisiblePosition()
方法。可以将这些值相加并除以2。结果将是中间元素的索引。getItemCount()返回数组大小的总值,这不是我的要求,我需要获取可见listview项的中间值。例如,我们有20个listview项,但如果滚动listview,只有五个项的其余部分可见。所以我需要中间的可见项。我希望你明白我的意思