首先是JiaoyuzixunActivity.java代码部分:

packagecom.gaoxiaotong.ctone.jiaoyuzixun;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importorg.json.JSONArray;importorg.json.JSONObject;importcom.gaoxiaotong.ctone.entity.Jiaoyuzixun_ViewPage_Adapter;importcom.gaoxiaotong.ctone.entity.jianzhizhaopinAdapter;importcom.gaoxiaotong.ctone.jianzhizhaopin.JianzhizhaopinActivity;importcom.gaoxiaotong.info.Webserinfo;importcom.gaoxiaotongctone.MainActivity;importcom.gaoxiaotongctone.R;importandroid.app.Activity;importandroid.app.ProgressDialog;importandroid.content.Intent;importandroid.os.AsyncTask;importandroid.os.Bundle;importandroid.os.Parcelable;importandroid.support.v4.view.PagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.util.Log;importandroid.view.KeyEvent;importandroid.view.View;importandroid.view.ViewGroup.LayoutParams;importandroid.view.animation.AnimationSet;importandroid.view.animation.TranslateAnimation;importandroid.widget.AdapterViewFlipper;importandroid.widget.HorizontalScrollView;importandroid.widget.ImageView;importandroid.widget.LinearLayout;importandroid.widget.ListView;importandroid.widget.ProgressBar;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.TextView;importandroid.widget.RadioGroup.OnCheckedChangeListener;/***HorizontalScrollView和ViewPager联动效果上面为HorizontalScrollView,下面为ViewPager**/publicclassJiaoyuzixunActivityextendsActivityimplementsOnCheckedChangeListener{privateProgressDialogdialog;privateProgressBarprogressBar;privateHashMap<Integer,Integer>hMap;privateintpageIndex;privatebooleanload_pagesize;privateintthePage;/***设置布局显示属性*/privateLayoutParamsmLayoutParams=newLinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);/***设置布局显示目标最大化属性*/privateLayoutParamsFFlayoutParams=newLinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);privateLinearLayoutloadingLayout;privateTextViewtexview_back;privateRadioGroupmRadioGroup;privateRadioButtonmRadioButton1;privateRadioButtonmRadioButton2;privateRadioButtonmRadioButton3;privateRadioButtonmRadioButton4;privateRadioButtonmRadioButton5;privateRadioButtonmRadioButton6;privateImageViewmImageView;privatefloatmCurrentCheckedRadioLeft;//当前被选中的RadioButton距离左侧的距离privateHorizontalScrollViewmHorizontalScrollView;//上面的水平滚动控件privateViewPagermViewPager;//下方的可横向拖动的控件privateArrayList<View>mViews;//用来存放下方滚动的layout(layout_1,layout_2,layout_3)@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.title_bar_education);iniController();iniListener();iniVariable();mRadioButton1.setChecked(true);mViewPager.setCurrentItem(1);mCurrentCheckedRadioLeft=getCurrentCheckedRadioLeft();//返回texview_back.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstubIntentintent=newIntent(JiaoyuzixunActivity.this,MainActivity.class);startActivity(intent);JiaoyuzixunActivity.this.finish();}});//绑定考研,专升本等等部分}/***AsyncTask异步加载部分操作*/publicclassMyTaskJianzhi1extendsAsyncTask<String,Void,List<Map<String,Object>>>{privateListViewlvCont;privatejianzhizhaopinAdapteradapter;privateintindex;//判断适配器是否被置空部分publicMyTaskJianzhi1(ListViewlvCont,jianzhizhaopinAdapterjzzpAdapter){super();this.lvCont=lvCont;if(jzzpAdapter==null){adapter=newjianzhizhaopinAdapter(JiaoyuzixunActivity.this);}else{adapter=jzzpAdapter;}}//下载提示框@OverrideprotectedvoidonPreExecute(){//TODOAuto-generatedmethodstubsuper.onPreExecute();dialog=newProgressDialog(JiaoyuzixunActivity.this);dialog.setTitle("提示");dialog.setMessage("正在下载,请稍后....");dialog.show();}//操作结束部分@OverrideprotectedvoidonPostExecute(List<Map<String,Object>>result){//TODOAuto-generatedmethodstubsuper.onPostExecute(result);//绑定考研,专升本部分Stringaa="";try{if(thePage==1){adapter.setData(result);lvCont.setAdapter(adapter);}if(result.size()==0){loadingLayout.setVisibility(View.GONE);}adapter.notifyDataSetChanged();}catch(Exceptione){//TODO:handleexceptione.getMessage();e.printStackTrace();}dialog.dismiss();}//获取数据操作部分@OverrideprotectedList<Map<String,Object>>doInBackground(String...params){//TODOAuto-generatedmethodstubList<Map<String,Object>>list=newArrayList<Map<String,Object>>();//链接网络,获取json,解析数据try{WebserinfowsWebserinfo=newWebserinfo();JSONArraydata=newJSONArray();if(pageIndex==0){data=wsWebserinfo.jobsByType(""+Webserinfo.pageSize,"2",""+thePage);}elseif(pageIndex==1){data=wsWebserinfo.jobsByType(""+Webserinfo.pageSize,"1",""+thePage);}elseif(pageIndex==2){data=wsWebserinfo.jobsByType(""+Webserinfo.pageSize,"3",""+thePage);}if(data.length()<10){load_pagesize=false;}for(inti=0;i<data.length();i++){JSONObjectjsonObj=data.getJSONObject(i);HashMap<String,Object>map=newHashMap<String,Object>();//迭代输出json的key作为map的keyIterator<String>iterator=jsonObj.keys();while(iterator.hasNext()){Stringkey=iterator.next();Objectvalue=jsonObj.get(key);map.put(key,value);}if(thePage>1){adapter.addItem(map);}list.add(map);}}catch(Exceptione){//TODO:handleexception}returnlist;}}privatevoidiniVariable(){//TODOAuto-generatedmethodstubmViews=newArrayList<View>();mViews.add(getLayoutInflater().inflate(R.layout.layout_0,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_1,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_2,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_3,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_4,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_5,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_6,null));mViews.add(getLayoutInflater().inflate(R.layout.layout_0,null));mViewPager.setAdapter(newJiaoyuzixun_ViewPage_Adapter(mViews));//设置ViewPager的适配器}/***RadioGroup点击CheckedChanged监听*/@OverridepublicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){AnimationSet_AnimationSet=newAnimationSet(true);TranslateAnimation_TranslateAnimation;Log.i("zj","checkedid="+checkedId);if(checkedId==R.id.btn1){_TranslateAnimation=newTranslateAnimation(mCurrentCheckedRadioLeft,getResources().getDimension(R.dimen.rdo1),0f,0f);_AnimationSet.addAnimation(_TranslateAnimation);_AnimationSet.setFillBefore(false);_AnimationSet.setFillAfter(true);_AnimationSet.setDuration(100);mImageView.startAnimation(_AnimationSet);//开始上面蓝色横条图片的动画切换//mImageView.setLayoutParams(_LayoutParams1);mViewPager.setCurrentItem(1);//让下方ViewPager跟随上面的HorizontalScrollView切换}elseif(checkedId==R.id.btn2){_TranslateAnimation=newTranslateAnimation(mCurrentCheckedRadioLeft,getResources().getDimension(R.dimen.rdo2),0f,0f);_AnimationSet.addAnimation(_TranslateAnimation);_AnimationSet.setFillBefore(false);_AnimationSet.setFillAfter(true);_AnimationSet.setDuration(100);mImageView.startAnimation(_AnimationSet);mViewPager.setCurrentItem(2);}elseif(checkedId==R.id.btn3){_TranslateAnimation=newTranslateAnimation(mCurrentCheckedRadioLeft,getResources().getDimension(R.dimen.rdo3),0f,0f);_AnimationSet.addAnimation(_TranslateAnimation);_AnimationSet.setFillBefore(false);_AnimationSet.setFillAfter(true);_AnimationSet.setDuration(100);mImageView.startAnimation(_AnimationSet);mViewPager.setCurrentItem(3);}elseif(checkedId==R.id.btn4){_TranslateAnimation=newTranslateAnimation(mCurrentCheckedRadioLeft,getResources().getDimension(R.dimen.rdo4),0f,0f);_AnimationSet.addAnimation(_TranslateAnimation);_AnimationSet.setFillBefore(false);_AnimationSet.setFillAfter(true);_AnimationSet.setDuration(100);mImageView.startAnimation(_AnimationSet);mViewPager.setCurrentItem(4);}elseif(checkedId==R.id.btn5){_TranslateAnimation=newTranslateAnimation(mCurrentCheckedRadioLeft,getResources().getDimension(R.dimen.rdo5),0f,0f);_AnimationSet.addAnimation(_TranslateAnimation);_AnimationSet.setFillBefore(false);_AnimationSet.setFillAfter(true);_AnimationSet.setDuration(100);mImageView.startAnimation(_AnimationSet);mViewPager.setCurrentItem(5);}elseif(checkedId==R.id.btn6){_TranslateAnimation=newTranslateAnimation(mCurrentCheckedRadioLeft,getResources().getDimension(R.dimen.rdo6),0f,0f);_AnimationSet.addAnimation(_TranslateAnimation);_AnimationSet.setFillBefore(false);_AnimationSet.setFillAfter(true);_AnimationSet.setDuration(100);mImageView.startAnimation(_AnimationSet);mViewPager.setCurrentItem(6);}mCurrentCheckedRadioLeft=getCurrentCheckedRadioLeft();//更新当前蓝色横条距离左边的距离mHorizontalScrollView.smoothScrollTo((int)mCurrentCheckedRadioLeft-(int)getResources().getDimension(R.dimen.rdo2),0);}/***获得当前被选中的RadioButton距离左侧的距离*/privatefloatgetCurrentCheckedRadioLeft(){//TODOAuto-generatedmethodstubif(mRadioButton1.isChecked()){returngetResources().getDimension(R.dimen.rdo1);}elseif(mRadioButton2.isChecked()){returngetResources().getDimension(R.dimen.rdo2);}elseif(mRadioButton3.isChecked()){returngetResources().getDimension(R.dimen.rdo3);}elseif(mRadioButton4.isChecked()){returngetResources().getDimension(R.dimen.rdo4);}elseif(mRadioButton5.isChecked()){returngetResources().getDimension(R.dimen.rdo5);}elseif(mRadioButton6.isChecked()){returngetResources().getDimension(R.dimen.rdo6);}return0f;}/***监听部分操作*/privatevoidiniListener(){//TODOAuto-generatedmethodstubmRadioGroup.setOnCheckedChangeListener(this);mViewPager.setOnPageChangeListener(newMyPagerOnPageChangeListener());}privatevoidiniController(){//TODOAuto-generatedmethodstubmRadioGroup=(RadioGroup)findViewById(R.id.radioGroup);mRadioButton1=(RadioButton)findViewById(R.id.btn1);mRadioButton2=(RadioButton)findViewById(R.id.btn2);mRadioButton3=(RadioButton)findViewById(R.id.btn3);mRadioButton4=(RadioButton)findViewById(R.id.btn4);mRadioButton5=(RadioButton)findViewById(R.id.btn5);mRadioButton6=(RadioButton)findViewById(R.id.btn6);mImageView=(ImageView)findViewById(R.id.img1);texview_back=(TextView)findViewById(R.id.back_activity_button);mHorizontalScrollView=(HorizontalScrollView)findViewById(R.id.horizontalScrollView);mViewPager=(ViewPager)findViewById(R.id.pager);}/***ViewPager的PageChangeListener(页面改变的监听器)*/privateclassMyPagerOnPageChangeListenerimplementsOnPageChangeListener{@OverridepublicvoidonPageScrollStateChanged(intarg0){//TODOAuto-generatedmethodstub}@OverridepublicvoidonPageScrolled(intarg0,floatarg1,intarg2){//TODOAuto-generatedmethodstub}/***滑动ViewPager的时候,让上方的HorizontalScrollView自动切换*/@OverridepublicvoidonPageSelected(intposition){//TODOAuto-generatedmethodstubif(position==0){mViewPager.setCurrentItem(1);}elseif(position==1){mRadioButton1.performClick();}elseif(position==2){mRadioButton2.performClick();}elseif(position==3){mRadioButton3.performClick();}elseif(position==4){mRadioButton4.performClick();}elseif(position==5){mRadioButton5.performClick();}elseif(position==6){mRadioButton6.performClick();}elseif(position==7){mViewPager.setCurrentItem(6);}}}//back键@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){//TODOAuto-generatedmethodstubif(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){Intentintent=newIntent();intent.setClass(JiaoyuzixunActivity.this,MainActivity.class);JiaoyuzixunActivity.this.startActivity(intent);JiaoyuzixunActivity.this.finish();}else{returnfalse;}returnsuper.onKeyDown(keyCode,event);}}

dimens.xml部分,控制菜单栏显示条目效果:

<resources><dimenname="padding_small">8dp</dimen><dimenname="padding_medium">8dp</dimen><dimenname="padding_large">16dp</dimen><dimenname="rdo1">0dp</dimen><dimenname="rdo2">100dp</dimen><dimenname="rdo3">200dp</dimen><dimenname="rdo4">300dp</dimen><dimenname="rdo5">400dp</dimen><dimenname="rdo6">500dp</dimen></resources>

过度页面layout_0.xml部分:

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/darker_gray"></LinearLayout>

显示页面其中一个样式layout_1.xml部分:

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/darker_gray"android:orientation="vertical"><TextViewandroid:id="@+id/textView_showMessages"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"android:text="A"android:textColor="#33b5e5"android:textSize="240sp"/></LinearLayout>

效果图:

wKiom1OxAlmyIyRxAADFtiFtP7E551.jpg

wKioL1OxAiuCtT_gAAC3S7nITN4810.jpg

wKiom1OxAlqzYTXqAADau00ARWw949.jpg


更多相关文章

  1. android连接数据库sqllist基础操作学习:
  2. Android添加半透明操作提示的方法
  3. Android 中 Base64的操作应用
  4. Android 截图程序实现 需要root权限
  5. Android查看各分区空间大小命令及相关操作
  6. Android学习(十) SQLite 基于SQLiteOpenHelper的操作方式

随机推荐

  1. 手把手教你白嫖一个服务器并搭建自己的远
  2. Matplotlib 中等高线图(contour)的绘制
  3. 努力不一定能成,不努力一定不成
  4. 【Android】实现登录、注册、数据库操作(
  5. 万字长文详解Python正则表达式及re模块
  6. 浅谈生活中的短网址和短ID
  7. Markdown中输入数学公式及LaTex常用数学
  8. 笔试练习题(十)
  9. 偷学Python第二十九|time模块和calendar模
  10. “三本”如何高效自学前端四个月逆袭