在ViewFlipper的不同视图中使用不同的活动

在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); 
}