我有一个带有图标(按钮)的水平滚动条。
我尝试将选定的图标移动到栏的中间。
我已经阅读了这篇关于在 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
像素的中间移动到右\左(负\正)
但是按钮太左\右停止(如果它是最右边\最左边的按钮)
见附图: