在ViewFlipper的不同视图中使用不同的活动
问题描述:
我正在开发一个音乐播放器,并且我有一个视图鳍来控制所有的艺术家视图,专辑视图等等。我现在正在做的是在视图脚本的每个视图中都有列表视图。但是,我不希望将所有代码都放在一个活动中,而是为每个视图执行不同的活动。这有可能实现吗?在ViewFlipper的不同视图中使用不同的活动
答
不过,我不希望把一个活动,而是, 里面我所有的 代码为每个 观点不同的活动。
请不要这样做。这不仅是不可能的,而且是支持它的其他地方(TabHost
),它浪费了RAM和CPU。
答
如果你的目标只是建立由ViewFlipper
提供相同的用户体验你会使用overridePendingTransition(int enterAnim, int exitAnim)
因为API水平,这已经可以5.
你会打电话给在overridePendingTransition
任何事件导致更好活动改变。在Android SDK samples中可以找到一个示例,但我在下面提供一个以更全面地回答您的问题。
首先你必须定义你的动画。在res
下创建一个文件夹anim
。然后定义中的两个过渡和一个列出。
in_right
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="600"/>
</set>
OUT_LEFT
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:duration="600"/>
</set>
然后在开始其他活动,你会使用这些动画在您的来电overridePendingTransition
事件。
// this code snippet does not show wiring event to button
void buttonClicked() {
startActivity(new Intent(this, HistoryListActivity_.class));
overridePendingTransition(R.anim.in_right, R.anim.out_left);
}