我想操纵我刚刚发现的库来拖动/旋转和捏缩放图像。我使用两个来源:
- 库本身:MultiTouchController.java https://code.google.com/p/android-multitouch-controller/source/browse/MTController/src/org/metalev/multitouch/controller/MultiTouchController.java
- 此库的实施:PhotoSortrView
https://code.google.com/p/android-multitouch-controller/source/browse/MTPhotoSortr/src/org/metalev/multitouch/photosortr/PhotoSortrView.java
- 实现此源的Activity
示例:
public class PhotoSortrActivity extends Activity {
PhotoSortrView photoSorter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle(R.string.instructions);
photoSorter = new PhotoSortrView(this);
setContentView(photoSorter);
}
@Override
protected void onResume() {
super.onResume();
photoSorter.loadImages(this);
}
@Override
protected void onPause() {
super.onPause();
photoSorter.unloadImages();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
photoSorter.trackballClicked();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
问题是当活动离开前景时,活动不记得图像的位置,我记得之后。更糟糕的是,每次调用Activity
时都会随机设置图像。
如何让Activity
记住图像的状态? (我的具体问题是它是一个自定义视图)
以下是我希望Activity记住的内容的示例,然后再次调用Activity后重置:
答案 0 :(得分:0)
请参阅savedInstanceState
中的onCreate()
参数?您覆盖onSaveInstanceState()
以设置一个记住您的活动状态的捆绑包,它会显示在onCreate()
。
现在,如果您的问题是:如何在不更改PhotoSortrView
类的情况下保存活动状态;好吧,你不能。您必须向loadImages()
添加一些状态参数,以便加载图像并设置当前图像,并可能更改unloadImages()
,以便返回活动可以保存的某些状态信息。