ViewFilpperGroup顾名思义就是将一堆view添加到一组内,便于管理。
1、编写viewflipper.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/vf"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</ViewFlipper>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<Button
android:id="@+id/up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="up" />
<Button
android:id="@+id/auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="auto" />
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="next" />
</LinearLayout>
</LinearLayout>
2、编写first.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".FirstActivity" >
<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_activity_first" />
</RelativeLayout>
3、对应的Java代码
package org.zqy.andr;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
TextView txt1 = (TextView) findViewById(R.id.txt1);
txt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "hehe", Toast.LENGTH_SHORT).show();
}
});
}
}
4、编写seconde.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".SecondActivity" >
<TextView
android:id="@+id/txt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_activity_second" />
</RelativeLayout>
5、对应的Java代码
package org.zqy.andr;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
TextView txt2 = (TextView) findViewById(R.id.txt2);
}
}
6、对应的Java代码
package org.zqy.andr;
import android.os.Bundle;
import android.app.ActivityGroup;
import android.app.LocalActivityManager;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ViewFlipper;
public class ViewFlipperGroupActivity extends ActivityGroup {
private ViewFlipper vf;
private Button up, auto, next;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewflipper2);
vf = (ViewFlipper) findViewById(R.id.vf);
//构建activitymanager
LocalActivityManager am =getLocalActivityManager();
Intent intent1 = new Intent(ViewFlipperGroupActivity.this,FirstActivity.class);
vf.addView(am.startActivity("activity1", intent1).getDecorView());//将Activity转换为view
Intent intent2 = new Intent(ViewFlipperGroupActivity.this,SecondActivity.class);
vf.addView(am.startActivity("activity2", intent2).getDecorView());
vf.startFlipping();//开始自动切换
up = (Button) findViewById(R.id.up);
auto = (Button) findViewById(R.id.auto);
next = (Button) findViewById(R.id.next);
up.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
vf.showPrevious();
}
});
auto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
vf.startFlipping();
}
});
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
vf.showNext();
}
});
}
}