• 简单的界面开始


    rawerLayout是Library包中实现了侧滑菜单效果的控件,drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),

    大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑

    一定要导入包

    大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑

    布局

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/draw"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            >
            <android.support.design.widget.TabLayout
                android:layout_width="match_parent"
                android:layout_height="45dp"
                app:tabMode="scrollable"
                android:id="@+id/tab_layout"
                >
            </android.support.design.widget.TabLayout>

            <android.support.v4.view.ViewPager
                android:id="@+id/viewPager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/tab_layout"
                >
            </android.support.v4.view.ViewPager>

        </LinearLayout>

        <ListView
            android:id="@+id/left_lv"
            android:layout_width="240sp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:choiceMode="singleChoice"
            android:divider="#191515"
            android:dividerHeight="1dp"
            android:background="#fff"
            />

    </android.support.v4.widget.DrawerLayout>

    大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑

    fragment.xml  里面写一个pullToRefreshListView

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.handmark.pulltorefresh.library.PullToRefreshListView
            xmlns:ptr="http://schemas.android.com/apk/res-auto"
            android:id="@+id/pull_refresh_list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:cacheColorHint="#000000"
            android:divider="#19000000"
            android:dividerHeight="4dp"
            android:fadingEdge="none"
            android:fastScrollEnabled="false"
            android:footerDividersEnabled="false"
            android:headerDividersEnabled="false"
            android:smoothScrollbar="true"
            ptr:ptrAnimationStyle="rotate"
            ptr:ptrHeaderTextColor="#ffffff"
            ptr:ptrHeaderSubTextColor="#00ffff"
            ptr:ptrHeaderBackground="@null"
            ptr:ptrDrawable="@mipmap/ic_launcher"/>

    </LinearLayout>

    大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑

    下面是代码注释全自己看


    import android.support.design.widget.TabLayout;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.widget.DrawerLayout;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ListView;
    import com.bwie.adapter.MyAdapter;
    import com.bwie.fragment.TabFragment;
    import java.util.ArrayList;
    import java.util.List;


    public class SecondActivity extends AppCompatActivity {


        private TabLayout tabLayout;
        private ViewPager viewPager;
        private DrawerLayout drawerLayout;
        private List<String> mTitleList = new ArrayList<>();//导航集合
        private ListView lv;
        private List<String> list = new ArrayList<>();
        private ArrayList<TabFragment> fs;
        private String[] urls = {
                "http://gank.io/api/data/Android/10/1",
                "http://gank.io/api/data/Android/10/2",
                "http://gank.io/api/data/Android/10/3",
                "http://gank.io/api/data/Android/10/4",
                "http://gank.io/api/data/Android/10/5",
                "http://gank.io/api/data/Android/10/6",
                "http://gank.io/api/data/Android/10/7",
                "http://gank.io/api/data/Android/10/8",
                "http://gank.io/api/data/Android/10/9",
                "http://gank.io/api/data/Android/10/10",
        };
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_second);


            initData();
            initCehua();

        }


        private void initData() {

            tabLayout = (TabLayout) findViewById(R.id.tab_layout);
            viewPager = (ViewPager) findViewById(R.id.viewPager);
            tabLayout.setupWithViewPager(viewPager);  //tablayou 关联viewPager
            //标题集合添加数据
            mTitleList.add("头条");mTitleList.add("社会");mTitleList.add("国内");
            mTitleList.add("国际");mTitleList.add("娱乐");mTitleList.add("体育");
            mTitleList.add("军事");mTitleList.add("科技");mTitleList.add("财经");
            fs = new ArrayList<TabFragment>();


            for(int i=0;i<10;i++){
                TabFragment tf = new TabFragment();
                Bundle b = new Bundle();
                b.putString("url",urls[i]);
                tf.setArguments(b);
                fs.add(tf);
            }


            viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
                @Override
                public Fragment getItem(int position) {


                    TabFragment tabfragment = fs.get(position);


                    return tabfragment;
                }


                @Override
                public int getCount() {
                    return mTitleList.size();
                }


                @Override
                public CharSequence getPageTitle(int position) {
                    return mTitleList.get(position);
                }
            });
        }

        private void initCehua() {


            drawerLayout= (DrawerLayout) findViewById(R.id.draw);
            lv= (ListView) findViewById(R.id.left_lv);
            list.add("搜索"); list.add("收藏"); list.add("消息");
            list.add("离线"); list.add("活动"); list.add("更多");


            MyAdapter adapter = new MyAdapter(SecondActivity.this,list);
            lv.setAdapter(adapter);


            lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                    drawerLayout.closeDrawer(lv);
                }
            });
        }
    }

    大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑

    创建一个Fragment "TabFragment"

    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ListView;
    import android.widget.Toast;
    import com.bwie.adapter.MyBaseAdapter;
    import com.bwie.bean.SuperClassStudy;
    import com.bwie.myapplication.R;
    import com.bwie.utils.NetWorkUtils;
    import com.bwie.utils.URLDB;
    import com.google.gson.Gson;
    import com.handmark.pulltorefresh.library.PullToRefreshBase;
    import com.handmark.pulltorefresh.library.PullToRefreshListView;
    import java.util.List;

    public class TabFragment extends Fragment {


        private MyBaseAdapter myBaseAdapter;
        private List<SuperClassStudy.ResultsBean> results;
        private PullToRefreshListView mPullRefreshListView;
        private String url = "";
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {


            View view = inflater.inflate(R.layout.fragment,container,false);

            mPullRefreshListView = (PullToRefreshListView) view.findViewById(R.id.pull_refresh_list);
            Bundle bundle = getArguments();
            url= bundle.getString("url");


            //加载utl对应的json数据,解析,展示在ListView上
            initView();
            initData();
            return view;
        }
        public void initData() {

            new AsyncTask<String,Integer,String>(){


                @Override
                protected String doInBackground(String... params) {


                    String json = new NetWorkUtils().getJsonHttpConnetion(URLDB.URL_IJ+"1");


                    return json;
                }


                @Override
                protected void onPostExecute(String s) {
                    super.onPostExecute(s);


                    SuperClassStudy superClassStudy = new Gson().fromJson(s, SuperClassStudy.class);
                    results = superClassStudy.getResults();
                    myBaseAdapter = new MyBaseAdapter(results,getActivity());
                    mPullRefreshListView.setAdapter(myBaseAdapter);

                }
            }.execute();
        }


        public void initView(){
            mPullRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
                @Override
                public void onRefresh(PullToRefreshBase<ListView> refreshView) {

                    //加载新数据,刷新显示
                    pullToRefreshData();


                    Toast.makeText(getActivity(),"刷新完毕",Toast.LENGTH_SHORT).show();
                }
            });
            mPullRefreshListView.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
                @Override
                public void onLastItemVisible() {
                    //加载更多数据
                    loadMoreData();
                    Toast.makeText(getActivity(),"加载完毕",Toast.LENGTH_SHORT).show();
                }
            });
        }

        int count=1;
        //加载数据
        private void loadMoreData() {


            new AsyncTask<String,Integer,String>(){
                @Override
                protected String doInBackground(String... params) {
                    count++;
                    String json = new NetWorkUtils().getJsonHttpConnetion(URLDB.URL_IJ+count);

                    return json;
                }


                @Override
                protected void onPostExecute(String s) {
                    super.onPostExecute(s);

                    SuperClassStudy superClassStudy = new Gson().fromJson(s, SuperClassStudy.class);
                    List<SuperClassStudy.ResultsBean> results1 = superClassStudy.getResults();
                    results.addAll(results1);
                    myBaseAdapter.notifyDataSetChanged();//刷新适配器
                }
            }.execute();
        }

        //刷新数据
        private void pullToRefreshData() {
            new AsyncTask<String,Integer,String>(){

                @Override
                protected String doInBackground(String... params) {


                    String json = new NetWorkUtils().getJsonHttpConnetion(url);

                    return json;
                }

                @Override
                protected void onPostExecute(String s) {
                    super.onPostExecute(s);

                    SuperClassStudy superClassStudy = new Gson().fromJson(s, SuperClassStudy.class);
                    results = superClassStudy.getResults();
                    myBaseAdapter = new MyBaseAdapter(results,getActivity());
                    mPullRefreshListView.setAdapter(myBaseAdapter);
                    mPullRefreshListView.onRefreshComplete();//停止刷新

                }
            }.execute();
        }
    }

    生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气多多生气生气生气生气生气支持生气生气生气生气生气生气生气生气生气生气生气多多生气生气生气生气生气生气点赞生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气生气

  • 相关阅读:
    NX二次开发-NXOPEN C#UF创建点theUfSession.Curve.CreatePoint
    NX二次开发-NXOPEN C#UF三点创建圆弧theUfSession.Curve.CreateArcThru3pts
    NX二次开发-NXOPEN C#UF获得两个圆曲线的两个交点theUfSession.Modl.IntersectCurveToCurve
    NX二次开发-NXOPEN C#UF布尔求交theUfSession.Modl.IntersectBodies
    NX二次开发-NXOPEN C#UF设置透明度theUfSession.Obj.SetTranslucency
    NX二次开发-NXOPEN C#UF创建拉伸theUfSession.Modl.CreateExtruded
    NX二次开发-NXOPEN C#UF插入对象到链表theUfSession.Modl.PutListItem
    NX二次开发-NXOPEN C#UF创建链表theUfSession.Modl.CreateList
    NX二次开发-NXOPEN C#UF创建圆弧theUfSession.Curve.CreateArc
    NX二次开发-NXOPEN C#UF获取WCS的矩阵和原点theUfSession.Csys.AskCsysInfo
  • 原文地址:https://www.cnblogs.com/zihang814/p/7513401.html
Copyright © 2020-2023  润新知