0

アイコン(ボタン)が付いた水平スクロールバーがあります。

選択したアイコンをバーの中央に移動しようとしています。

Android でのビューの配置に関するこの投稿を読みました。

私はこのコードを持っていますが、これは論理的には問題ないと思われます:

    public void selectButton() {
 ...
            HorizontalScrollView sv=(HorizontalScrollView)button.getParent().getParent();
            int offsetX=getButtonXPosition()-sv.getWidth()/2;
            sv.smoothScrollTo(offsetX, 0);

..
    }


    public int getButtonXPosition() {
        return (button.getLeft()+button.getRight())/2;
    }

左上隅のaピクセルを右\左(負\正のピクセル数)に移動し、

ここでa= X position of middle of selected button - middle of the bar.

aつまり、ボタンピクセルの中央を右\左(負\正)に移動したい

ただし、ボタンが左\右に停止しすぎます(右端\左端のボタンの場合)

添付の画像を参照してください:

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1