侧拉横滑相关的小demo
来源:互联网 发布:713中美南海对峙知乎 编辑:程序博客网 时间:2024/06/10 15:43
注意要写权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>App注册(xutils方法用到app): android:name=".api.AppImage"AppActivity:import android.app.Application;import org.xutils.x;public class AppImage extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this); }}MainActivity:package com.bwie.zhoukaoa;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.View;import android.view.Window;import android.widget.ImageView;import com.bwie.zhoukaoa.fragment.LeftFragment;import com.bwie.zhoukaoa.fragment.MyFragment;import com.bwie.zhoukaoa.fragment.rigthFragment;import com.example.kson.tablayout.widget.HorizontalScollTabhost;import com.example.kson.tablayout.widget.bean.CategoryBean;import com.kson.slidingmenu.SlidingMenu;import com.kson.slidingmenu.app.SlidingFragmentActivity;import org.xutils.view.annotation.ContentView;import org.xutils.view.annotation.ViewInject;import org.xutils.x;import java.util.ArrayList;import java.util.List;@ContentView(R.layout.activity_main)public class MainActivity extends SlidingFragmentActivity implements View.OnClickListener{ @ViewInject(R.id.main_tabhost) HorizontalScollTabhost main_host; @ViewInject(R.id.image_left) ImageView image_left; @ViewInject(R.id.image_rigth)ImageView image_rigth; private List<CategoryBean> listbean; private List<Fragment> listFragment; //bean类 private CategoryBean news; private SlidingMenu menu; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);//删除标题title this.requestWindowFeature(Window.FEATURE_NO_TITLE);//一定要记住写这句话 x.view().inject(this); //初始化host initView(); //左右滑 initMenu(); initClick(); } /** * 点击事件的方法 */ private void initClick() { image_left.setOnClickListener(this); image_rigth.setOnClickListener(this); } /** * 获取mainhost */ private void initView() { listFragment =new ArrayList<>(); listbean=new ArrayList<>(); news = new CategoryBean(); news.id="toutiao"; news.name="头条"; listbean.add(news); news = new CategoryBean(); news.id="yule"; news.name="娱乐"; listbean.add(news); news = new CategoryBean(); news.id="qiguan"; news.name="奇观"; listbean.add(news); news = new CategoryBean(); news.id="toutiao"; news.name="头条"; listbean.add(news); news = new CategoryBean(); news.id="caijing"; news.name="财经"; listbean.add(news); news = new CategoryBean(); news.id="xinwen"; news.name="新闻"; listbean.add(news); news = new CategoryBean(); news.id="yilaio"; news.name="医疗"; listbean.add(news); news = new CategoryBean(); news.id="junshi"; news.name="军事"; listbean.add(news); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); listFragment.add(new MyFragment()); main_host.diaplay(listbean,listFragment); } /** * 左右滑 */ private void initMenu() { //左 setBehindContentView(R.layout.item_left); getSupportFragmentManager().beginTransaction().replace(R.id.item_left,new LeftFragment()).commit(); //侧拉 menu = getSlidingMenu(); menu.setMode(SlidingMenu.LEFT_RIGHT); menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); menu.setBehindOffsetRes(R.dimen.TabHost);注意这里的:R.dimen.TabHost:是 dimen.xml中的方法(TabHost):<resources> <dimen name="TabHost">50dp</dimen></resources> //右 menu.setSecondaryMenu(R.layout.item_rigth); getSupportFragmentManager().beginTransaction().replace(R.id.item_rigth,new rigthFragment()).commit(); } /** * 点击事件 * @param view */ @Override public void onClick(View view) { switch (view.getId()){ case R.id.image_left: menu.showMenu(); break; case R.id.image_rigth: menu.showSecondaryMenu(); break; } }}MyFragment的方法中:import android.os.Bundle;import android.os.Handler;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.bwie.zhoukaoa.R;import com.bwie.zhoukaoa.adapter.MyAdapter;import com.bwie.zhoukaoa.api.HorizontalURL;import com.bwie.zhoukaoa.bean.NewsBean;import com.google.gson.Gson;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.view.annotation.ContentView;import org.xutils.view.annotation.ViewInject;import org.xutils.x;import java.util.List;import view.xlistview.XListView;@ContentView(R.layout.fragment_xlist)public class MyFragment extends Fragment implements XListView.IXListViewListener{ @ViewInject(R.id.xlistView) XListView xListView; private View view; private NewsBean bean; private List<NewsBean.DataBean> list; private MyAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if(view==null){ view= x.view().inject(this,inflater,container); } return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); addAdapter(); } //获取数据并且添加到适配器 public void addAdapter() { RequestParams params=new RequestParams(HorizontalURL.GET_URL); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Gson gson=new Gson(); bean = gson.fromJson(result.toString(), NewsBean.class); list = bean.getData();//适配器 adapter = new MyAdapter(getActivity(),list); xListView.setAdapter(adapter);//加载 xListView.setPullLoadEnable(true);//刷新 xListView.setPullRefreshEnable(true); xListView.setXListViewListener(MyFragment.this); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); } //添加数据的方法 private void addData() { RequestParams params=new RequestParams(HorizontalURL.GET_URL); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Gson gson=new Gson(); bean = gson.fromJson(result.toString(), NewsBean.class); List<NewsBean.DataBean> newsBeen = bean.getData();//将新获取到的集合添加到原集合中 list.addAll(newsBeen);//刷新适配器 adapter.notifyDataSetChanged(); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); } private Handler handler=new Handler(); //下拉刷新 @Override public void onRefresh() { handler.postDelayed(new Runnable() { @Override public void run() { //获取数据并且添加到适配器的方法addAdapter();Log.i("xxx","刷新成功!");//停止刷新xListView.stopRefresh();//停止加载xListView.stopLoadMore(); } },3000); } //上拉加载 @Override public void onLoadMore() { // handler.postDelayed(new Runnable() { @Override public void run() { //添加数据的方法addData();Log.i("xxx","添加成功!");//停止刷新xListView.stopRefresh();//停止加载xListView.stopLoadMore(); } },3000); }}
阅读全文
1 0
- 侧拉横滑相关的小demo
- ajax小的DEMO
- listView的小demo
- ResultSetExtractor 的小demo
- nodejs的小demo
- s2sh的小demo
- AIDL的小demo
- 摇一摇听歌的小Demo
- 多线程的小demo
- Zxing小的demo
- HttpURLConnection的小Demo
- iOS开发 仿相册的一个小Demo 相关UICollectionView,UIScrollView,AFNetworking
- uiautomator的多线程相关DEMO
- 豆瓣搜的小Demo
- 基于ssh2的小demo
- 显示天气预报的小Demo
- 自定义布局的小demo
- WCF的一个小Demo
- IOS button 文字 重影
- Spring Web MVC(三)之注解
- Hadoop生态系统
- 初学Java
- 服务器等待 socket 连接时的心理活动
- 侧拉横滑相关的小demo
- halcon制作标定板
- 31muduo_net库源码分析(七)
- 欢迎使用CSDN-markdown编辑器
- Python爬虫,爬取百度百科词条
- doxygen使用与C++注释规范
- 05.Spring Cloud学习笔记之服务容错保护组件Hystrix
- 第2课:HLS 的工作机制
- hdu2063(二分图匹配 匈牙利算法模板题)