SlidingMenu ViewPager Fragment GSON 网络解析 网络请求 ListView

来源:互联网 发布:淘宝能代理几个分销商 编辑:程序博客网 时间:2024/05/16 10:19


*******************************DEMO********************Fragment+ViewPAger************************************************

                      ************************************MaActivity.class**********************************************

import java.util.ArrayList;import android.app.Activity;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.view.Window;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import com.slidingmenu.lib.SlidingMenu;public class MainActivity extends FragmentActivity implements OnClickListener {private TextView sd_title_tv;private String[] tabs;private ImageView title_iv;private ViewPager viewPager;private Button button1;private Button button2;private Button button3;private Button button4;private ArrayList<Button> bList;private ImageView sd_title_iv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);// 侧滑方法initSlidingMenu();viewPager = (ViewPager) findViewById(R.id.viewPager);button1 = (Button) findViewById(R.id.button1);button2 = (Button) findViewById(R.id.button2);button3 = (Button) findViewById(R.id.button3);button4 = (Button) findViewById(R.id.button4);bList = new ArrayList<Button>();bList.add(button1);bList.add(button2);bList.add(button3);bList.add(button4);for (Button b : bList) {b.setOnClickListener(this);}viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn 4;}@Overridepublic Fragment getItem(int arg0) {// TODO Auto-generated method stubFragment fragment = new Fragment();switch (arg0) {case 0:fragment = new Fragment0();break;case 1:fragment = new Fragment1();break;case 2:fragment = new Fragment2();break;case 3:fragment = new Fragment3();break;default:break;}return fragment;}});viewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stubfor (int i = 0; i < bList.size(); i++) {if (arg0 == i) {bList.get(i).setTextColor(Color.BLUE);} else {bList.get(i).setTextColor(Color.BLACK);}}}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});}private void initSlidingMenu() {// TODO Auto-generated method stub// 初始化slidingmenu对象SlidingMenu menu = new SlidingMenu(MainActivity.this);// 设置侧滑方向为左侧侧滑// SlidingMenu.LEFT_RIGHT左右都可以滑动// RIGHT 从右侧侧划menu.setMode(SlidingMenu.LEFT);/* * 设置拖拽模式 SlidingMenu.TOUCHMODE_FULLSCREEN全屏触摸有效 * SlidingMenu.TOUCHMODE_MARGIN 拖拽边缘有效 SlidingMenu.TOUCHMODE_NONE * 不响应触摸事件 */menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);// 设置阴影宽度menu.setShadowWidthRes(R.dimen.shadow_width);// 设置阴影的图片menu.setShadowDrawable(R.drawable.title3);// 设置slidingmenu的拉伸出来其他剩余界面大小==内容显示页对应的dp大小menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);// 设置滑动时的渐变程度menu.setFadeDegree(0.35f);// 使SlidingMenu附加在Activity右边// SlidingMenu.SLIDING_CONTENT 将侧滑栏设置为在内容位置// SlidingMenu.SLIDING_WINDOW 将侧滑栏设置为在整个窗口呈现// SlidingMenu.TOUCHMODE_NONE 设置不可以拖出来menu.attachToActivity(MainActivity.this, SlidingMenu.SLIDING_WINDOW);// 设置sliding管理的布局menu.setMenu(R.layout.left_slidingmenu);// 在slidingmenu关联布局中查询控件sd_title_tv = (TextView) menu.findViewById(R.id.sd_title_tv);ListView lv = (ListView) menu.findViewById(R.id.sd_lv);sd_title_iv = (ImageView) findViewById(R.id.sd_title_iv);tabs = new String[] { "主页", "关于", "设置", "搜索" };lv.setAdapter(new BaseAdapter() {public View getView(int position, View convertView, ViewGroup parent) {View view = View.inflate(MainActivity.this,android.R.layout.simple_list_item_1, null);TextView tv = (TextView) view.findViewById(android.R.id.text1);tv.setText(tabs[position]);return view;}public long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}public Object getItem(int position) {// TODO Auto-generated method stubreturn null;}public int getCount() {// TODO Auto-generated method stubreturn tabs.length;}});lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {// TODO Auto-generated method stubswitch (arg2) {case 0:viewPager.setCurrentItem(0);button1.setVisibility(View.VISIBLE);button2.setVisibility(View.VISIBLE);button3.setVisibility(View.VISIBLE);button4.setVisibility(View.VISIBLE);break;case 1:viewPager.setCurrentItem(1);initButton();break;case 2:viewPager.setCurrentItem(2);initButton();break;case 3:viewPager.setCurrentItem(3);initButton();break;default:break;}}private void initButton() {button1.setVisibility(View.GONE);button2.setVisibility(View.GONE);button3.setVisibility(View.GONE);button4.setVisibility(View.GONE);}});sd_title_iv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubbutton1.setVisibility(View.VISIBLE);button2.setVisibility(View.VISIBLE);button3.setVisibility(View.VISIBLE);button4.setVisibility(View.VISIBLE);}});title_iv = (ImageView) menu.findViewById(R.id.sd_title_iv);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.button1:viewPager.setCurrentItem(0);break;case R.id.button2:viewPager.setCurrentItem(1);break;case R.id.button3:viewPager.setCurrentItem(2);break;case R.id.button4:viewPager.setCurrentItem(3);break;default:break;}}}

                               *******************************main布局*******************************

<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:orientation="vertical" >    <android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="match_parent"        android:layout_weight="5"        android:layout_height="match_parent" />    <LinearLayout        android:layout_width="match_parent"        android:layout_weight="1"        android:layout_height="wrap_content" >        <Button            android:id="@+id/button1"            android:layout_width="0dp"            android:layout_weight="1"            android:textColor="#0000ff"            android:text="首页"            android:layout_height="wrap_content" />        <Button            android:id="@+id/button2"            android:layout_width="0dp"            android:layout_weight="1"            android:text="排行"            android:layout_height="wrap_content" />        <Button            android:id="@+id/button3"            android:layout_width="0dp"            android:layout_weight="1"            android:text="用户"            android:layout_height="wrap_content" />        <Button            android:id="@+id/button4"            android:layout_width="0dp"            android:layout_weight="1"            android:text="搜索"            android:layout_height="wrap_content" />    </LinearLayout></LinearLayout>

                                                   ********************侧划布局**************************

<?xml version="1.0" encoding="utf-8"?>  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:background="@drawable/k0"       >        <TextView          android:id="@+id/sd_title_tv"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_alignParentLeft="true"          android:layout_alignParentTop="true"          android:layout_marginLeft="116dp"          android:layout_marginTop="60dp"          android:textColor="#0000ff"          android:text="$小武$" />        <ImageView          android:id="@+id/sd_title_iv"          android:layout_width="50dp"          android:layout_height="50dp"          android:layout_alignBottom="@id/sd_title_tv"          android:layout_alignParentLeft="true"          android:layout_marginLeft="45dp"          android:background="@drawable/ae" />      <ListView          android:id="@+id/sd_lv"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:divider="#ccc"          android:dividerHeight="1dp"          android:layout_below="@id/sd_title_iv"          android:layout_marginLeft="45dp"          ></ListView>  </RelativeLayout>  

                                                **********************Bean.class**************************

import java.util.ArrayList;public class WeiChatInfo {public int error_code;public String reason;public WeiChatResult result;public class WeiChatResult {public int pno;public int ps;public int totalPage;public ArrayList<MyList> list;}public class MyList{public String firstImg;public String id;public String mark;public String title;public String source;public String url;}}
                                                  ********************ImageLoadUtils.class***********************

import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration.Builder;import android.content.Context;public class ImageLoaderUtils {public static void initConfiguration(Context context) {Builder builder = new ImageLoaderConfiguration.Builder(context);ImageLoader.getInstance().init(builder.build());}public static DisplayImageOptions initOptions() {DisplayImageOptions displayImageOptions = new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ic_launcher).showImageForEmptyUri(R.drawable.ic_launcher).cacheInMemory(true).cacheOnDisk(true).build();return displayImageOptions;}}

                                         ***************************MaApplication.class***********************

import android.app.Application;public class MyApplication extends Application {@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();// 初始化操作ImageLoaderUtils.initConfiguration(getApplicationContext());}}
 

                                      ************************************Fragment0.class************************************

import java.util.ArrayList;import com.example.day20slidingmenuviewpagerfragment.WeiChatInfo.MyList;import com.google.gson.Gson;import com.lidroid.xutils.HttpUtils;import com.lidroid.xutils.exception.HttpException;import com.lidroid.xutils.http.ResponseInfo;import com.lidroid.xutils.http.callback.RequestCallBack;import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import android.content.Intent;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AbsListView;import android.widget.AbsListView.OnScrollListener;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;public class Fragment0 extends Fragment {private View view;private ListView listView;ArrayList<MyList> list=new ArrayList<MyList>();private DisplayImageOptions initOptions;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.f0, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);listView = (ListView) view.findViewById(R.id.listView);//分享中的图片initOptions = ImageLoaderUtils.initOptions();getData();// ListView监听是否滑动到最后的条目了,若是,就加载下一页内容listView.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {// TODO Auto-generated method stubint lastVisiblePosition = view.getLastVisiblePosition();if (scrollState == OnScrollListener.SCROLL_STATE_IDLE&& lastVisiblePosition == list.size() - 1) {index++;getData();}}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {// TODO Auto-generated method stub}});}private int index=0;private void getData() {// TODO Auto-generated method stubString path = "http://v.juhe.cn/weixin/query?key=654d512d807e422acc4e46a8e41af709&pno="+ index;HttpUtils httpUtils = new HttpUtils();httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {@Overridepublic void onFailure(HttpException arg0, String arg1) {// TODO Auto-generated method stub}@Overridepublic void onSuccess(ResponseInfo<String> info) {// TODO Auto-generated method stubString result=info.result;Gson gson = new Gson();WeiChatInfo weiChatInfo = gson.fromJson(result,WeiChatInfo.class);System.out.println(weiChatInfo + "----------------------");list = weiChatInfo.result.list;listView.setAdapter(new BaseAdapter() {@Overridepublic View getView(int position, View convertView,ViewGroup parent) {// TODO Auto-generated method stubView view = View.inflate(getActivity(),R.layout.list_item, null);ImageView iv_image = (ImageView) view.findViewById(R.id.iv_image);TextView tv_title = (TextView) view.findViewById(R.id.tv_title);tv_title.setText(list.get(position).title);// 图片ImageLoader.getInstance().displayImage(list.get(position).firstImg, iv_image,initOptions);return view;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}});}});}}

                                           ***************************Fragment1.class**********************

import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.accessibility.AccessibilityNodeInfo;import android.view.animation.Animation;import android.view.animation.RotateAnimation;import android.widget.ImageView;public class Fragment1 extends Fragment {private View view;private ImageView imagView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.f1, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);imagView = (ImageView) view.findViewById(R.id.imageView);RotateAnimation r=new RotateAnimation(0, 3600, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);r.setDuration(3000);r.setRepeatCount(Animation.INFINITE);r.setRepeatMode(Animation.RESTART);imagView.startAnimation(r);}}


                                  ***************************Fragment2.class**********************

import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;import android.view.animation.RotateAnimation;import android.view.animation.ScaleAnimation;import android.widget.ImageView;public class Fragment2 extends Fragment {private View view;private ImageView imagView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.f2, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);imagView = (ImageView) view.findViewById(R.id.imageView);ScaleAnimation r=new ScaleAnimation(0.3f, 1, 0.3f, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);r.setDuration(3000);r.setRepeatCount(Animation.INFINITE);r.setRepeatMode(Animation.RESTART);imagView.startAnimation(r);//动画监听r.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {// TODO Auto-generated method stub}@Overridepublic void onAnimationRepeat(Animation animation) {// TODO Auto-generated method stub}@Override//结束public void onAnimationEnd(Animation animation) {// TODO Auto-generated method stub//结束后执行什么}});}}


                               ***************************Fragment3.class**********************

import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.ScaleAnimation;import android.view.animation.TranslateAnimation;import android.widget.ImageView;public class Fragment3 extends Fragment {private View view;private ImageView imagView;private ImageView imagView1;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.f3, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);imagView = (ImageView) view.findViewById(R.id.imageView);imagView1 = (ImageView) view.findViewById(R.id.imageView1);//渐变透明AlphaAnimation r=new AlphaAnimation(1, 0);//1-0 从有到无//设置时间r.setDuration(3000);//设置一直循环r.setRepeatCount(Animation.INFINITE);//设置RESTARTr.setRepeatMode(Animation.RESTART);//启动imagView.startAnimation(r);//平移动画TranslateAnimation animation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT,1.0f, Animation.RELATIVE_TO_PARENT, 0,Animation.RELATIVE_TO_PARENT, 1.0f);// 设置运行时间 5秒animation.setDuration(5000);// 设置重复次数 5//animation.setRepeatCount(5);animation.setRepeatCount(Animation.INFINITE);// Animation.Reverse 往复// Animation.restart 重新来animation.setRepeatMode(Animation.REVERSE);// 开启动画imagView1.startAnimation(animation);}}






1 0
原创粉丝点击