2

私のコードの目標は、クリックした項目の中心に 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;

}

問題は、これがクリックされたアイテムの中心を返さないことです。

4

1 に答える 1