左右滑动主要方法,先获取layout id再由此获取部件id,再讲获取的第x页面[layout1 = mInflater.inflate(R.layout.common, null);]加入到List[views.add(layout1);]
LayoutInflater inflater = getLayoutInflater();
View v=inflater.inflate(R.layout.item04, null);
Button b=(Button) v.findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(TManagerActivity.this, abc.class);
startActivity(intent);
}
});
pageViews = new ArrayList<View>();
pageViews.add(inflater.inflate(R.layout.item01, null));
pageViews.add(inflater.inflate(R.layout.item02, null));
pageViews.add(inflater.inflate(R.layout.item03, null));
pageViews.add(v);
setContentView(R.layout.main);首先获取空白页
main.xml
//这个组件,注意这个组件是用来显示左右滑动的界面的
<android.support.v4.view.ViewPager
android:id="@+id/main_viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pagertitle"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="bottom"
android:background="#0000"
android:textColor="#ffff" />
</android.support.v4.view.ViewPager>
Activity.java
public class MainMenuView extendsActivityGroup {
private ArrayList<View> views;
private ViewPager mViewPager;//
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//放入空白页作为底面控制翻页
views = newArrayList<View>();
//空白底面,并且注册为左右翻滚的xml 作为第一个显示的layout,并且通过findViewId方法获取ViewPager[main_viewpager 布局文件名]
mViewPager = (ViewPager)
findViewById(R.id.main_viewpager);
//初始化ViewPager
mViewPager.setOnPageChangeListener(null);
//加载翻转页面
initView();
// addViews();
//在Activity里实例化ViewPager组件,并设置它的Adapter(就是PagerAdapter,方法与ListView一样的),在这里一般需要重写PagerAdapter。
PagerAdapter mPagerAdapter = new PagerAdapter() {
@Override
public booleanisViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getCount() {
return views.size();
}
@Override
public voiddestroyItem(View container, int position, Object object) {
((ViewPager) container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
((ViewPager) container).addView(views.get(position));
return views.get(position);
}
};
//加载要显示的滚动页面
LayoutInflater mInflater = getLayoutInflater();
View layout1 = mInflater.inflate(R.layout.common, null);
View layout2 = mInflater.inflate(R.layout.two, null);
Button buttonNews = (Button) layout1.findViewById(R.id.news);
Button buttonBib = (Button) layout2.findViewById(R.id.bib);
//监听按键
buttonNews.setOnClickListener(newOnClickListener() {
public void onClick(View v) {
try {
Intent visiteur = new Intent(v.getContext(), NewsView.class);
startActivity(visiteur);
} catch (Exception e) {
Toast.makeText(null, R.string.rediectTest,
Toast.LENGTH_SHORT);
}
}
});
// 将要分页显示的View装入数组中。将相应的Activity转换成View对象
views.add(layout1);
views.add(layout2);
mViewPager.setAdapter(mPagerAdapter);
}
//加载翻转页面
public void initView() {
oneView = getViews(OneActivity.class, "one");
twoView = getViews(TwoActivity.class, "one");
}
//这个方法只能用于继承ActivityGroup 而非Activity
public View getViews(Class<?> cls, String pageid) {
returngetLocalActivityManager().startActivity(
pageid,
newIntent(MainMenuView.this, cls)
.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT))
.getDecorView();
}
}
http://blog.sina.com.cn/s/blog_68d733750101izrv.html