如何在活动开始时滚动到Horizo​​ntalScrollView的中心?

Pab*_*s84 8 android scrollview horizontalscrollview android-layout

我有一个活动,显示带有水平长图像视图的howizontalscrollview.

我需要在活动开始时,horizo​​ntalscrollview必须滚动到itselft的中心,而不是滚动到开头.

我正在搜索谷歌和这里,我找不到方式..

这是我的水平滚动视图:

    HorizontalScrollView wvScroll = new HorizontalScrollView(this);
    wvScroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
    iv.setImageBitmap(Util.getRemoteImage("http://mywebsite.com/90.gif"));
    iv.setScaleType(ScaleType.CENTER_CROP);
    wvScroll.addView(iv);
    mainLayout.addView(wvScroll);
Run Code Online (Sandbox Code Playgroud)

谢谢

Tam*_*zer 5

尝试:

wvScroll.scrollTo(offsetX, 0);
Run Code Online (Sandbox Code Playgroud)

可能存在计时问题,其中将在创建scrollView之前设置偏移量.在这种情况下,使用postDelayed()runnable调用scrollTo

添加:

要使用postDelayed():

private Handler mHandler = new Handler();
Run Code Online (Sandbox Code Playgroud)

在onCreate做:

mHandler.postDelayed(new Runnable(){
    public void run() {
       wvScroll.scrollTo(offsetX, 0);
    }
}, 1000);
Run Code Online (Sandbox Code Playgroud)

  • 我知道scrollTo存在.....但.....我怎么能获得offsetX ???? 我不明白你的方式.请你发一个代码示例吗? (3认同)