Viewpager和RadioGroup实现联动

来源:互联网 发布:王思聪前女友的淘宝店 编辑:程序博客网 时间:2024/06/02 22:10


首先我们要建立他的主视图  一个radiogoup 一个Viewpager

<android.support.v4.view.ViewPager
        android:id="@+id/vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        />
    <RadioGroup 
        android:id="@+id/group"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:layout_weight="9"
        android:background="#CAE1FF"
        >
        <RadioButton 
            android:id="@+id/but1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:button="@null"
            android:text="首页"
            android:checked="true"
            android:layout_weight="3"
            android:gravity="center"
            android:textColor="@drawable/btn_color"
            />
        <RadioButton 
            android:id="@+id/but2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:button="@null"
            android:text="搜索"
            android:layout_weight="3"
            android:gravity="center"
             android:textColor="@drawable/btn_color"
            />
        <RadioButton 
            android:id="@+id/but3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:button="@null"
            android:text="我的"
            android:layout_weight="3"
            android:gravity="center"
            android:textColor="@drawable/btn_color"
            />
    </RadioGroup>


//主视图实现联动效果


public class MyActivity extends FragmentActivity {
private ViewPager viewpager;
private List<Fragment> list;
private Fragment01 f1;
private Fragment02 f2;
private Fragment03 f3;
private RadioGroup group;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
//获取资源ID
viewpager = (ViewPager) findViewById(R.id.vp);
group = (RadioGroup) findViewById(R.id.group);
//实例化滑动的视图
f1 =new Fragment01();
f2 =new Fragment02();
f3 =new Fragment03();
//实例化集合
list =new ArrayList<Fragment>();
//将视图添加进集合
list.add(f1);
list.add(f2);
list.add(f3);

viewpager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

@Override
public int getCount() {
// TODO 自动生成的方法存根
return list.size();
}

@Override
public Fragment getItem(int arg0) {
// TODO 自动生成的方法存根
return list.get(arg0);
}
});

group.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO 自动生成的方法存根
switch (checkedId) {
case R.id.but1:
viewpager.setCurrentItem(0);
break;
case R.id.but2:
viewpager.setCurrentItem(1);
break;
case R.id.but3:
viewpager.setCurrentItem(2);
break;
default:
break;
}

}
});

}

}


//这里另外附加倒计时跳转

 private Handler handler =new Handler(){
    public void handleMessage(android.os.Message msg) {
   
    if(msg.what== 0){
   
    //倒计时完毕进行跳转
Intent intent =new Intent(MainActivity.this, MyActivity.class);
startActivity(intent);
    }
    textview.setText(msg.what+"s");
   
    };
    };


private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取资源ID
textview = (TextView) findViewById(R.id.hand);

//创建一个线程
new Thread(){
public void run() {
try {
for (int i = 5; i >0; i--) {
sleep(1000);
i--;
handler.sendEmptyMessage(i);
}

} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();

};
}.start();















原创粉丝点击