我写了一个应用程序,其中有一个包含缩略图的屏幕视图,当我点击它时,我想要扩展到全屏视图(使用平移和缩放)。
平移缩放的大视图工作正常,但我想在单击大图像时返回原始视图。
final TouchImageView imgBig = new TouchImageView(Dashboard.this);
final ImageView img = (ImageView) findViewById(R.id.graph);
final Bitmap bitmap = result.getImage();
img.setImageBitmap(bitmap);
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgBig.setImageBitmap(bitmap);
imgBig.setMaxZoom(4f);
setContentView(imgBig);
imgBig.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// What do I need to do here to return to original thumbnail screen view?
}
});
}
});
尝试过很多事情但没有成功!
答案 0 :(得分:0)
只需原始的setContentView(R.layout.main)将其设置回来。
在布局xml中安装ImageView并设置其图像并显示和隐藏它可能会更好。否则你只会遇到一个可能有限的观点。
当您执行setContentView时,它会使用该内容初始化您的活动。因此,如果你想在它上面放置一些东西,你可能只有一个隐藏的视图。在您的布局xml代码中,创建一个位于所有其他视图之上的图像视图。然后设置其visibility =“gone”,使其隐藏。 然后在你的onClick上而不是调用setContentView,只需像你一样设置图像位图,并调用imgBig.setVisibility(View.Gone或View.Visible)来显示或隐藏你的大图像。
另一种可能性是进行2项活动。并调用startActivity来显示您的大图像,然后完成返回其他活动。
另一种可能性是使用片段,但可能更多涉及。