- viewpager滑动切换点击切换,跳转页面,计时器,第二次直接进入页面,这里废话不多说了,直接看代码就可以了。
<android.support.v4.view.ViewPager
android:id="@+id/vp_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>
<RadioGroup
android:id="@+id/group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<RadioButton
android:id="@+id/but1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"/>
<RadioButton
android:id="@+id/but2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioButton
android:id="@+id/but3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
计时器和跳转控件页面
<TextView
android:id="@+id/text_view_item3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="26dp"
android:layout_marginRight="26dp"
android:layout_marginTop="45dp"
android:text="TextView" />
<Button
android:id="@+id/but_view_item3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/text_view_item3"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/text_view_item3"
android:layout_marginBottom="61dp"
android:text="跳过" />
MainActivity 方法:
public class MainActivity extends AppCompatActivity {
private ViewPager vp;
private RadioGroup group;
private RadioButton but1;
private RadioButton but2;
private RadioButton but3;
private List<RadioButton> list;
private List<View> list_view;
private View v1;
private View v2;
private View v3;
private SharedPreferences shared;
private TextView text_view;
private Button but_view;
private SharedPreferences.Editor edit;
private Timer timer;
private int count=10;
private int tag=0;
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
//等等0跳转到另一个页面
if (count==0) {
Intent it=new Intent(MainActivity.this,tooactivity.class);
startActivity(it);
}
text_view.setText(count+"");
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//控件的Id
initView();
}
private void initView() {
vp = (ViewPager) findViewById(R.id.vp_main);
group = (RadioGroup) findViewById(R.id.group);
but1 = (RadioButton) findViewById(R.id.but1);
but2 = (RadioButton) findViewById(R.id.but2);
but3 = (RadioButton) findViewById(R.id.but3);
list = new ArrayList<RadioButton>();
list.add(but1);
list.add(but2);
list.add(but3);
//数据
initData();
}
private void initData() {
//集合
list_view = new ArrayList<View>();
v1 = View.inflate(this, R.layout.view_item1, null);
v2 = View.inflate(this, R.layout.view_item2, null);
v3 = View.inflate(this, R.layout.view_item3, null);
text_view = (TextView) v3.findViewById(R.id.text_view_item3);
//填充到集合里
list_view.add(v1);
list_view.add(v2);
list_view.add(v3);
//SharedPreferences判断用户第几次进入页面
shared = getSharedPreferences("user", MODE_PRIVATE);
boolean boo = shared.getBoolean("name", true);
if (boo){
edit = shared.edit();
edit.putBoolean("name",false);
edit.commit();
}else{
Intent it=new Intent(MainActivity.this,tooactivity.class);
startActivity(it);
finish();
}
//定时器Timer
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
count--;
//更新子线程UI
handler.sendEmptyMessage(0);
}
},2000,2000);
but_view = (Button) v3.findViewById(R.id.but_view_item3);
but_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edit = shared.edit();
edit.putBoolean("name",false);
edit.commit();
Toast.makeText(MainActivity.this,"确定点击",Toast.LENGTH_LONG).show();
Intent it=new Intent(MainActivity.this,tooactivity.class);
startActivity(it);
finish();
}
});
//OnPageChangeListener滑动改变监听
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int arg0) {
list.get(arg0).setChecked(true);
list.get(tag).setChecked(false);
tag=arg0;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
//ViewPager的适配器
vp.setAdapter(new PagerAdapter() {
@Override
public int getCount() {
return list_view.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list_view.get(position));
return list_view.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(list_view.get(position));
}
});
//OnCheckedChangeListener点击改变监听
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId){
case R.id.but1:
vp.setCurrentItem(0);
break;
case R.id.but2:
vp.setCurrentItem(1);
break;
case R.id.but3:
vp.setCurrentItem(2);
}
}
});
}
//Activity即将被销毁
@Override
protected void onDestroy() {
timer.cancel();
super.onDestroy();
}
}