请帮助!!!
让我先介绍一下我的应用。 这个程序是图像查看器。 第一个活动是gridview。 第二项活动是全屏图像。 当用户点击第一个活动的屏幕时,第二个活动开始。 在第二个Activity中,对于滑动图像,我使用了viewpager和我的自定义适配器(扩展了PagerAdapter)
然后问题: 在第一次活动时点击屏幕时,黑屏将显示约0.5秒,第二个活动开始。我不想看到这一点。 我想看到滑动图像的第一张图像而不是黑屏,但我不能自己做。我怎样才能做到这一点。或者我怎样才能避免黑屏。
请帮帮我。 下面是onCreate()的第二个活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("Activity", "Start");
setContentView(R.layout.activity_fullscreen_view);
viewPager = (ViewPager) findViewById(R.id.pager);
Intent i = getIntent();
String curDirPath = i.getStringExtra("currentpath");
utils = new Utils(getApplicationContext(), curDirPath);
adapter = new FullScreenImageAdapter(FullScreenViewActivity.this,
utils.getFilePaths(), utils.audioFilePaths, utils.fileType, this);
viewPager.setAdapter(adapter);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
...
}
@Override
public void onPageSelected(int position) {
...
}
@Override
public void onPageScrollStateChanged(int state) {
...
}
});
viewPager.setCurrentItem(1);
Log.d("Activity", "end");
}
这是第二项活动的召集部分。
Intent i = new Intent(_activity, FullScreenViewActivity.class);
i.putExtra("currentpath", newfile.toString());
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
_activity.startActivity(i);
这是使用Picasso加载图片的代码。
Picasso.with(mContext).load(new File(_imagePaths.get(position))).into(imgDisplay);
答案 0 :(得分:0)
延迟是因为Activity正在尝试加载图像。尝试压缩图像或使用Picasso加快加载速度。
评论中要求的毕加索使用示例(来自文档):
// Resources, assets, files, content providers are all supported as image sources.
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);
按照上面的picasso链接获取有关功能,设置和使用的完整文档。