gpt4 book ai didi

android - smoothScroll 方法在 onCreate() 中不起作用

转载 作者:行者123 更新时间:2023-11-29 18:21:28 25 4
gpt4 key购买 nike

我创建了一个自定义 ScrollView ,并向其中动态添加了一些 ImageView 。我只想在初始化 View 时将 ScrollView 滚动到特定位置。我使用 scrollview.smoothScrollTo() 方法将 ScrollView 移动到特定位置。它在 Android 2.1 中运行良好,但在 Android 2.2 中无法运行。 ScrollView 总是转到初始位置。 Whwn 我在它正在工作的按钮的 OnClick Listener 中使用了相同的方法。请帮忙。

    protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.galleryitem_details);
hscrollView = (HorizontalScrollView)findViewById(R.id.photolist_scrollview);
addImages();
hscrollView.smoothScrollTo(1000, 0);

}


private void addImages() {


for(int i = 0; i< 10; i++) {

View imageDetailView = View.inflate(this, R.layout.gallery_image, null);
ImageView image = (ImageView)imageDetailView.findViewById(R.id.gallery_imagebig);
TextView txtView = (TextView)imageDetailView.findViewById(R.id.imageBigText);
ProgressBar spinner = (ProgressBar)imageDetailView.findViewById(R.id.gallery_scrollimage);
txtView.setWidth(screenWidth);
imageDetailView.setBackGroundResource(R.drawable.icon);
txtView.setText(PHGalleryActivity.galleryImages.get(i).getImageCaption());
imageDetailLayout.addView(imageDetailView);
}
/*
* Set the position of scroll view.
*/


}

hscrollview 没有滚动到该位置。 ScrollView 从初始位置开始。

最佳答案

问题已解决。我不知道到底是什么问题。我使用 Handler 来设置 ScrollView 的偏移值。当我们尝试在 onCreate() 中设置 ScrollView 的偏移量时会出现问题。在其他情况下,假设如果我们在 onClick() 中设置偏移值,则无需使用处理程序即可完美运行。

 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.galleryitem_details);
hscrollView = (HorizontalScrollView)findViewById(R.id.photolist_scrollview);
addImages();
updateUI();
}


class MHandler extends Handler {

public void handleMessage(Message msg) {
PHGalleryItemActivity.this.updateUI();
}

public void sleep(long delayMillis) {
this.removeMessages(0);
sendMessageDelayed(obtainMessage(0), delayMillis);
}
};

private void updateUI(){
mHandler.sleep(0);
hscrollView.smoothScrollTo(1000, 0);

}

关于android - smoothScroll 方法在 onCreate() 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5153805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com