我在目前正在开发的应用程序中无法实现稳定效果。 senario 是这样的
在我的第一个 Activity 中,我会显示一个列表,单击某个项目后,我会显示一个新 Activity ,其中包含有关该项目的更多详细信息。
现在我想在详细页面上实现分页,这样用户就可以向左或向右滑动并显示下一个或上一个项目,而不必返回到列表进行选择。
我有一个用于这些项目的适配器,所以获取有关显示的项目和“ sibling ”是什么的信息没什么大不了的
我一直在玩 view flipper,但据我所知,它需要在 viewflipper 的 stumic 中渲染的“ View ”,我不敢在 onCreate 上渲染 300 个项目。关于使用 3 个 View 并在创建时填充 em 的任何提示?
我用动画调用了相同的 Activity ,所以它滑入加号和 Intent 告诉要显示的数据,但这样做的性能一定很差。
有什么想法吗?
如果你只想看到我想要的动画/功能。 Tjek out google latitude pageing on u friends detailed page。
//高级的thx
最佳答案
我使用 ViewFlipper
实现了相同的行为,并按需加载 View 。
这是我正在做的事情的快照。它与您想要的不完全相同,但您可以采用相同的方法。
/**
* starts a new activity.
* @param activityToStart the activity class.
*/
public static void startActivity(Class<?> activityToStart) {
String name = activityToStart.getName();
while (history.contains(name)) {
name += "1";
}
View view = activity.getLocalActivityManager().startActivity(name,
new Intent(activity, activityToStart)).getDecorView();
history.add(name);
addView(view, name);
}
public void addView(View newView, String name) {
// add its name to the history.
history.add(name);
// change the view.
flipper.addView(newView);
if(history.size() != 1) {
flipper.setInAnimation(inFromUpAnimation());
View oldView = getActivityAt(history.size() - 2);
flipper.setOutAnimation(outFromBottomAnimation());
flipper.showNext();
}
}
private void back() {
if(history.size() > 1) {
View oldView = getActivityAt(history.size() - 1);
flipper.setInAnimation(inFromBottomAnimation());
setRemoveAnimation(oldView, outToUpAnimation(), history.remove(history.size() - 1));
flipper.showPrevious();
} else {
finish();
}
}
这里我有 3 个功能(要在您的案例中启动一个新 Activity ,您可以根据需要将其更改为膨胀 View ,第二个添加 View ,第三个在用户回击时删除 View )。
希望这对您有所帮助!
关于安卓 : Paging a view with sliding left or right,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556494/