android PageAdapter
PageAdapter是一个抽象类,直接继承于Object,导入包android.support.v4.view.PagerAdapter即可使用。
要使用PagerAdapter,
首先要继承PagerAdapter类,至少覆盖以下方法:
在每次创建ViewPager或滑动过程中,以下四个方法都会被调用,而instantiateItem和destroyItem中的方法要自己去实现。
public abstract int getCount(); 这个方法,是获取当前窗体界面数
public abstract boolean isViewFromObject(android.view.View arg0, java.lang.Object arg1);这个方法用于判断是否由对象生成界面
public java.lang.Object instantiateItem(android.view.View container, int position);这个方法,return一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPager中
public void destroyItem(android.view.ViewGroup container, int position, java.lang.Object object);这个方法,是从ViewGroup中移出当前View
首先要继承PagerAdapter类,至少覆盖以下方法:
在每次创建ViewPager或滑动过程中,以下四个方法都会被调用,而instantiateItem和destroyItem中的方法要自己去实现。
public abstract int getCount(); 这个方法,是获取当前窗体界面数
public abstract boolean isViewFromObject(android.view.View arg0, java.lang.Object arg1);这个方法用于判断是否由对象生成界面
public java.lang.Object instantiateItem(android.view.View container, int position);这个方法,return一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPager中
public void destroyItem(android.view.ViewGroup container, int position, java.lang.Object object);这个方法,是从ViewGroup中移出当前View
public class ViewPagerAdapter extends PagerAdapter{
//界面列表
private List<View> views;
private Activity activity;
public ViewPagerAdapter(List<View> vs, Activity ac) {
// TODO Auto-generated constructor stub
this.views = vs;
this.activity = ac;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
if(views != null)
{
return views.size();
}
return 0;
}
//销毁arg1位置的界面
@Override
public void destroyItem(View container, int position, Object object) {
// TODO Auto-generated method stub
((ViewPager) container).removeView(views.get(position));
}
//初始化position位置的界面
@Override
public Object instantiateItem(View container, int position) {
// TODO Auto-generated method stub
((ViewPager) container).addView(views.get(position), 0);
return views.get(position);
}
// 判断是否由对象生成界面
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return (arg0 == arg1);
}
}
2.android:visibility="gone"
此属性意思是此视图是否显示,例如RelativeLayout中android:visibility="gone"其有三个属性:visible显示;invisible显示黑背景条;gone不显示
在类中,可以设置其显示与否,setVisibility(View.GONE);不显示;setVisibility(View.VISIBLE);显示
3.view的clickable属性和点击background颜色改变
当一个view(iamge/text view都可以)的android:clickable="true"可以像button一样点击然后背景颜色android:background="@drawable/选择颜色的xml文件名"可设置点击、非点击两种状态颜色,这个背景状态改变,只有在clickable=true才有效
android:src="@drawable/dots"
下面是dots.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:drawable="@drawable/dark_dot" />
<item
android:drawable="@drawable/white_dot" />
</selector>