具体代码
1、布局文件
<LinearLayout 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:background="#f89"
android:clipToPadding="true"
android:fitsSystemWindows="true"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#f0f"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/smsLan"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="短信拦截"
android:textColor="@color/lan_tab_seletor"
android:textSize="16sp" />
<RadioButton
android:id="@+id/telLan"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="电话拦截"
android:textColor="@color/lan_tab_seletor"
android:textSize="16sp" />
<RadioButton
android:id="@+id/setLan"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="拦截设置"
android:textColor="@color/lan_tab_seletor"
android:textSize="16sp" />
</RadioGroup>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v4.view.ViewPager>
</LinearLayout>
2、Activity
public class InterceptActivity extends FragmentActivity implements
OnPageChangeListener,OnCheckedChangeListener{
private List<Fragment> list;
private ViewAdapter adapter;
private ViewPager vp;
private RadioGroup rg;
@SuppressLint("InlinedApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intercept);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
initActionBar();
initView();
}
private void initActionBar(){
ActionBar actionBar=getActionBar();
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
ColorDrawable color = new ColorDrawable(Color.TRANSPARENT);
actionBar.setBackgroundDrawable(color);
actionBar.setTitle("拦截管理");
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
private void initView(){
vp=(ViewPager) super.findViewById(R.id.viewpager);
rg=(RadioGroup) super.findViewById(R.id.rg);
list=new ArrayList<Fragment>();
adapter=new ViewAdapter(getSupportFragmentManager(), list);
vp.setAdapter(adapter);
loadData();
vp.setOnPageChangeListener(this);
rg.setOnCheckedChangeListener(this);
rg.check(R.id.smsLan);
}
private void loadData(){
Fragment_Lan_Sms sms=new Fragment_Lan_Sms();
list.add(sms);
Fragment_Lan_Telephony tel=new Fragment_Lan_Telephony();
list.add(tel);
Fragment_Lan_Setting set=new Fragment_Lan_Setting();
list.add(set);
adapter.notifyDataSetChanged();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.intercept, menu);
return true;
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
View view=rg.getChildAt(arg0);
rg.check(view.getId());
}
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
switch(arg1){
case R.id.smsLan:
vp.setCurrentItem(0);
break;
case R.id.telLan:
vp.setCurrentItem(1);
break;
case R.id.setLan:
vp.setCurrentItem(2);
break;
}
}
}
3、Fragment
没有要求