我正在开发一个音乐播放器,我有一个视图鳍状肢来控制所有艺术家视图,专辑视图等等。我现在正在做的是我在视图翻板的每个视图中都有列表视图。但是,我不想将所有代码放在一个活动中,而是为每个视图设置不同的活动。这有可能实现吗?
答案 0 :(得分:2)
如果您的目标只是创建ViewFlipper
提供的相同用户体验,那么您最好使用自API级别5以来可用的overridePendingTransition(int enterAnim, int exitAnim)
。
在导致活动发生变化的任何事件中,您都会调用overridePendingTransition
。可以在Android SDK samples中找到一个示例,但我在下方提供了一个示例,以便更全面地回答您的问题。
首先,您必须定义动画。在anim
下创建一个文件夹res
。然后在中一个和一个 out 定义两个转换。
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);
}
答案 1 :(得分:1)
然而,我不想把我所有的 一个活动内的代码,而是, 每个人都有不同的活动 图。
请不要这样做。它不仅不可能,而且另一个支持sorta(TabHost
)的地方,它浪费了RAM和CPU。