私のコードの目標は、クリックした項目の中心に ImageView を移動して、何らかの方法で「強調表示」することです。このために、リストビューのクリックされた項目の Y 座標を取得しようとしています。私のコードは次のとおりです。
private OnItemClickListener listview_auto_listener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position,
long arg3) {
int[] coords = new int[2];
view.getLocationOnScreen(coords);
// We need just the top coordinate
int top = coords[1];
// And bottom
moveSelectedCar(top);
}
};
ここで、moveSelectedCar は次のとおりです。
private void moveSelectedCar(int new_y) {
TranslateAnimation _tAnim = new TranslateAnimation(
TranslateAnimation.RELATIVE_TO_SELF,
TranslateAnimation.RELATIVE_TO_SELF, last_y, new_y);
_tAnim.setInterpolator(new DecelerateInterpolator());
_tAnim.setDuration(800);
_tAnim.setFillAfter(true);
_tAnim.setFillEnabled(true);
img_selected_car.startAnimation(_tAnim);
last_y = new_y;
}
問題は、これがクリックされたアイテムの中心を返さないことです。