<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/draw"
    android:orientation="vertical"
    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:id="@+id/tab"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabGravity="center"
            app:tabTextColor="@color/colorPrimary"
            app:tabIndicatorColor="@android:color/transparent"
            app:tabSelectedTextColor="@color/colorAccent"
            app:tabMode="scrollable">

        </android.support.design.widget.TabLayout>

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </android.support.v4.view.ViewPager>

    </LinearLayout>

    <!--  菜单栏选项-->
    <ListView
        android:id="@+id/lv"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/colorPrimary">

    </ListView>

</android.support.v4.widget.DrawerLayout>
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
    private List<String> list=new ArrayList<String>();
    private String[] title={
            "推荐","热点","北京","科技","军事","视频","社会"
    };
    private DrawerLayout draw;
    private ListView lv;
    private ActionBarDrawerToggle toggle;
    private ArrayAdapter<String> adapter;
    private ViewPager pager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getSupportActionBar().hide();
        intdata();
        inview();
    }
    public void intdata(){
        ; i<;i++){
            list.add("sss"+i);
        }
    }
    public void inview(){
        draw = (DrawerLayout) findViewById(R.id.draw);
        lv = (ListView) findViewById(R.id.lv);
        //初始化ActionBar
        //参数1:上下文
        //参数2:抽屉
        //参数3:打开抽屉的描述
        //参数4:关闭抽屉的描述
//        toggle = new ActionBarDrawerToggle(this,draw, R.string.openDrawer,R.string.closeDrawer);
//        //设置状态同步
//        toggle.syncState();
        //设置抽屉打开关闭监听
        draw.addDrawerListener(toggle);
        //设置适配器
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
        lv.setAdapter(adapter);
        lv.setOnItemClickListener(this);

        //找到标签布局控件
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tab);

        for (String str : title)
        {
            //更具标签数生成标签
            tabLayout.addTab(tabLayout.newTab().setText(str));
        }

        //TabLayout关联ViewPager
        pager = (ViewPager) findViewById(R.id.pager);
        pager.setAdapter(new Myadapter(getSupportFragmentManager()));
        //让TabLayout发生关联
        tabLayout.setupWithViewPager(pager);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        //如果抽屉打开,点击按钮,就会关闭,反之亦然
        return toggle.onOptionsItemSelected(item) | super.onOptionsItemSelected(item);
    }

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

        //关闭抽屉
        draw.closeDrawer(lv);
    }

    class Myadapter extends FragmentPagerAdapter{

        public Myadapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return Fragment1.newInstance(title[position]);
        }

        @Override
        public int getCount() {
            return title.length;
        }
        @Override
        public CharSequence getPageTitle(int position) {
            return title[position];
        }
    }
}
public class Fragment1 extends Fragment {
    private static final String PAGE_TITLE = "PAGE_TITLE";
    private String title;

    public static Fragment1 newInstance(String title){

        Bundle bundle = new Bundle();
        bundle.putString(PAGE_TITLE,title);
        Fragment1 fragment1 = new Fragment1();
        fragment1.setArguments(bundle);
        return fragment1;

    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //当Fragemnt一旦被创建,我就可以接受对方传递过来的值
        title = getArguments().getString(PAGE_TITLE);

    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        TextView textView = new TextView(getActivity());
        textView.setText(title);
        textView.setTextSize();

        return textView;
    }
}

todaytt的更多相关文章

  1. shell脚本删除N天前的目录-----附linux和mac上date命令的不同

    背景: 每日构建的东西.按日期放到不同的目录里. 现在天的构建放到2015-06-01里,明天的就放到2015-06-02里,依次类推.时间久了.须要一个脚本删除N天前的目录.(本例中N=7.即删除一 ...

随机推荐

  1. 在?MySQL事务隔离级别了解一下?

    事务的四大ACID 属性:Atomicity 原子性.Consistency 一致性.Isolation 隔离性.Durability 持久性. 原子性: 事务是最小的执行单位不可分割,强调事务的不可 ...

  2. Impala集成C3P0的连接方式

    1. 概述 Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统虽然也提供了SQL语义,但由于 ...

  3. 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!

    网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘.本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底 ...

  4. Java编程思想:文件读写实用工具

    import java.io.*; import java.util.ArrayList; import java.util.Arrays; public class Test { public st ...

  5. Lake Counting-C++

    Description Due to recent rains, water has pooled in various places in Farmer John's field, which is ...

  6. py+selenium IE 用driver.close()却把两个窗口都关了【已解决】

    环境:py3  selenium  unittest 测试浏览器:IE10 目标:在单个文件中,有多个用例,执行完A用例,由于打开了新的窗口,必须关闭新的窗口,才不会影响下一条用例的执行. 问题:按例 ...

  7. Unity游戏神经网络版坦克大战

    基于遗传算法优化的神经网络来训练坦克AI是什么体验呢?下面有bulid好的demo. 包括window和安卓两个版本. 这是一个Unity项目. 下载链接:https://pan.baidu.com/ ...

  8. 基于python图片识别工具(图片识别,车牌,PDF,验证码)

    先上图  不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...

  9. 十三、asp.net中Repeater控件用法笔记

    大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater作为我们的数据绑定控件了.Repeater控件与DataGrid (以及DataList)控件的主要区 ...

  10. MyEclipse 2016 Stable 1.0破解教程

    一.下载所需文件 1. Windows最新版: MyEclipse 2016 Stable 1.0离线安装包(文件大小:1.52GB)--完整安装包,无需在线下载http://pan.baidu.co ...