横向滑动的注意事项

首先在XML中要注意
TabLayout要是:android.support.design.widget.TabLayout;
依附的是design,版本号25.3.1;
如果报错就把build.gradle中最下面的版本号改了,改成一样的,一般是26.+,改完了编译一下,如果不能编译的话,打开扳手,打开里面的Build下面的Build Tools,点击Gradle,右边有个Offline work,选中它,就是取消在线编译,改成了离线编译就可以了;
然后把命名空间复制过来,复制到XML,xmlns:app=”http://schemas.android.com/apk/res-auto”;
这是TabLayout的一些设置
< !–app:tabGravity=”center” 设置居中对齐
app:tabIndicatorColor=”@color/colorAccent” 下滑线的颜色
app:tabMode=”scrollable”设置tabLayoout菜单的模式,,,scrollable可以横向滚动
app:tabSelectedTextColor=”@color/colorPrimaryDark”选中的时候文字的颜色
app:tabTextColor=”@color/colorPrimary”文本默认的颜色
– >
//示例布局

<android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:id="@+id/tab"
    app:tabGravity="center"
    app:tabIndicatorColor="@color/colorAccent"
    app:tabMode="scrollable"
    app:tabSelectedTextColor="@color/colorPrimaryDark"
    app:tabTextColor="@color/colorPrimary"> < /android.support.design.widget.TabLayout>

(ViewPager是点击横向滑动时下面的页面也会切换)

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

//在Main里

    List<String> list = new ArrayList<> ();
//添加(横向滑动的条目)tab的显示项
    list.add("头条");
    list.add("军事");
    list.add("娱乐");
    list.add("新闻");
    list.add("财经");
    list.add("体育");
    list.add("科技");
    list.add("游戏");
    //设置监听  就是选项卡选中时的监听
    tab.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        //选中的时候调用的方法
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            String text = tab.getText().toString();
            //text实际上就是应用里面:推荐,,,头条,,,军事,,,娱乐....
            Toast.makeText(MainActivity.this,text,Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
        }
        @Override
        public void onTabReselected(TabLayout.Tab tab) {
        }
    });
    vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        //2.重写这个方法getPageTitle,,,得到当前页面的标题
        @Override
        public CharSequence getPageTitle(int position) {
            return list.get(position);
        }
        @Override
        public Fragment getItem(int position) {
            NewsFragment newsFragment = new NewsFragment();
            //应该要做的是传值,,,,去fragment里面获取,,,获取到值之后,,,在进行url路径的拼接
            Bundle bundle = new Bundle();
            bundle.putString("name","头条");
            newsFragment.setArguments(bundle);
           return newsFragment;
        }
        @Override
        public int getCount() {
            return list.size();
        }
    });
    //3.将tabLayout和viewPager关联起来
    tab.setupWithViewPager(vp);
    **//NewsFragment类,是一个Fragment,** (切换页面里面的内容,ViewPager的内容):
    他的布局可以是一个ListView,
     //获取数据
    String name =  getArguments().getString("name", "");
    //判断
    if (name.equals("头条")){
        name = "top";
    }else if (name.equals("军事")){
        name = "junshi";
    }else if (name.equals("社会")){
        name = "shehui";
    }else if (name.equals("财经")){
        name = "caijing";
    }else if (name.equals("国内")){
        name = "guonei";
    }
    getDataFromNet(name);(此方法里是一个异步);

//MyAdapter类, 适配器:
//只是复用的优化

    if (view == null){
        view = View.inflate(context,android.R.layout.simple_list_item_1,null);
    }
    TextView textView = view.findViewById(android.R.id.text1);
    textView.setText(list.get(i).getTitle());
    return view;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值