私はHorizontalScrollViewの内部に(水平方向の)LinearLayoutを持っています。ユーザーがLinearLayoutの要素をクリックすると、選択された要素がScrollViewの左側と同じになるように常にスクロールします。子供にパディングを追加した後、HorizontalScrollViewを正しい位置にスクロールさせるにはどうすればよいですか?
は今のところ、私のOnClickListenerに次のコードは、通常、私が欲しいものを実現:
ReadView readView = (ReadView) view;
horizontalScrollView.smoothScrollTo(readView.getLeft(), 0);
要素が理にかなってLinearLayout
、の終わり近くにある場合を除いて。これを解決するために、LinearLayoutの右側にパディングを追加します。
ReadView readView = (ReadView) view;
horizontalLayout.setPadding(0,0, 1000, 0);
horizontalScrollView.smoothScrollTo(readView.getLeft(), 0);
例外はありません。動作しません。私は、パディングが正しく追加されていることを確認しましたが、スクロールビューはパディングに基づいてスクロールしていません。
後でパッディングを削除したいので、ユーザーがクリックせずにスクロールしたときに余分なパディングが表示されないようにするため、OnClickListenerでこれを行うことができます。