我有一个滚动视图,在其中有几个相对布局。每个相对布局会动态添加两个按钮。如下所示:
滚动视图
_____________________
| ________________ |
| |Relative Layout| |
| | |Buttons| | |
| |_______________|
| |
| ________________ |
| |Relative Layout| |
| | |Buttons| | |
| |_______________|
| |
| |Relative Layout| |
| | |Buttons| | |
| |_______________|
| |
| ________________ |
| |Relative Layout| |
| | |Buttons| | |
| |_______________|
| |
| |Relative Layout| |
| | |Buttons| | |
| |
|_____________________|
在按钮点击时,动态地滚动到特定的相对布局是否可能?我已经尝试了下面的代码,但没有成功。
if (count == 1) {
final int k = id;
mScrollView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// TODO Auto-generated
// method stub
mScrollView.post(new Runnable() {
@Override
public void run() {
Button btn = (Button) findViewById(k);
mScrollView.smoothScrollTo(0,btn.getTop());
}
});
滚动也不起作用
编辑:
最初我只在相对布局中有一组按钮,然后smoothScrollTo
按预期工作。后来我将结构更改为上述样式。