Android在listview中位于中心的选定项

Android在listview中位于中心的选定项,android,listview,Android,Listview,全部 我为此花了很多时间。 我要做的是,所选项目位于listview的中心行。 例如,有10个项目。它看起来是移动一个项目而不是焦点。焦点永远在中心。我使用遥控器,而不是智能手机,不可能使用触摸事件。你能给我一些提示吗?怎么做?请节省我的时间 1. 2. 3你可以这样做: int x = (listView.getAdapter().getCount())/2; listView.setSelection(x); listView.getSelectedView().setSelected(t

全部

我为此花了很多时间。 我要做的是,所选项目位于listview的中心行。 例如,有10个项目。它看起来是移动一个项目而不是焦点。焦点永远在中心。我使用遥控器,而不是智能手机,不可能使用触摸事件。你能给我一些提示吗?怎么做?请节省我的时间

1. 2. 3你可以这样做:

int x = (listView.getAdapter().getCount())/2;

listView.setSelection(x);
listView.getSelectedView().setSelected(true);
当你需要移动增量或减量x时,当然,你可以这样做:

int x = (listView.getAdapter().getCount())/2;

listView.setSelection(x);
listView.getSelectedView().setSelected(true);

当你想移动递增或递减x,当然要将元素设置为选中的

,正如你在评论中提到的,你也没有在智能手机上尝试过,所以你可以这样做

int listHeight = listView.getHeight();
int rowHeight = rowView.getHeight();    
listView.setSelectionFromTop(position, listHeight /2 - rowHeight /2);

希望你的遥控器也能正常工作。

正如你在评论中提到的,你没有在智能手机上尝试过这一功能,所以你可以这样做

int listHeight = listView.getHeight();
int rowHeight = rowView.getHeight();    
listView.setSelectionFromTop(position, listHeight /2 - rowHeight /2);

希望你的遥控器也能正常工作。

你能在智能手机上实现这一点吗?不,我没有在智能手机上实现。正如你所说,在智能手机和遥控器上实现这一点有什么区别。唯一不同的是触摸事件和按键事件。关键是我没有这么做,即使是智能手机,你也能在智能手机上做到吗?不,我没有在智能手机上做到。正如你所说,在智能手机和遥控器上做到这一点有什么区别。唯一不同的是触摸事件和按键事件。关键是我没有这么做,即使是智能手机