Android ---------- TabLayout 实战 (二) 仿京东商品详情页

摘要:
1.效果图2.原理:TabLayout提供了一个水平的布局用来展示Tabs作为一级标签导航;用横向布局的recycleview作为第二级标签导航。

1.效果图

Android ---------- TabLayout 实战 (二) 仿京东商品详情页第1张

2.原理:TabLayout提供了一个水平的布局用来展示 Tabs 作为一级标签导航;用横向布局的recycleview作为第二级标签导航。

3.添加依赖:compile'com.android.support:design:27.+ ‘

4.布局文件:

(1)主容器布局

<android.support.design.widget.TabLayout

android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="30dp"
app:tabTextAppearance="@style/MyTabLayoutTextAppearanceInverse"   //设置标签的字体大小  在style文件里进行设置
app:tabIndicatorHeight="2dp"  //设置便签下划线的高度(厚度)      不设置的话,默认大小就可以    设置为0dp就是不显示下划线
app:tabIndicatorColor="#007aff" //设置标签下划线的颜色
app:tabSelectedTextColor="#007aff" //设置选中标签的字体的颜色
app:tabTextColor="@android:color/darker_gray" /> //设置未选中标签的字体的颜色

 

<android.support.v4.view.ViewPager

     android:id="@+id/vpager"
   android:layout_width="match_parent"
   android:layout_height="200dp" />

(2)副容器布局

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent">
<LinearLayout
    android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/tv_tab"android:layout_height="30dp"android:layout_width="match_parent"
        />
    。。。。。。
    。。。。。。

</LinearLayout>
</ScrollView>

5.控制器部分代码:

(一)Tablayout 的控制器代码 参考我之前的一篇Android TabLayout 实战 (一)

(二)RecycleView 的控制器部分代码

RecyclerView mRecyclerView =(RecyclerView)view.findViewById(R.id.tv_tab);
LinearLayoutManager linearLayoutManager = newLinearLayoutManager(context);
                linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
                mRecyclerView.setLayoutManager(linearLayoutManager);
                //设置适配器
                DataAdapter adapter = newDataAdapter();
                adapter.setOnItemClickListener(newOnRecyclerViewItemClickListener() {
                    @Override
                    public void onItemClick(View view, intposition) {
                        。。。
                        。。。
                        adapter.notifyDataSetChanged();
                    }
                });
                mRecyclerView.setAdapter(adapter);    

原理:为RecycleView添加监听事件,点击哪个标签获得position,从而刷新适配器。

6.Tips:因为博主的业务需求,二级导航标签是动态获取的数据,存在数据仅有一条的情况,这种情况就可以隐藏掉二级导航标签。

免责声明:文章转载自《Android ---------- TabLayout 实战 (二) 仿京东商品详情页》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring c3p0连接池无法释放解决方案oracle出现未选定行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

duilib各种布局的作用,相对布局与绝对布局的的意义与用法

转载请说明原出处,谢谢~~ 我使用duilib快3个月了,总体感觉duilib的使用还是较为简单的,只是刚入门时可能有些摸不清头脑。今天写一篇关于duilib的入门日志,大致说一下duilib中的各个布局的作用,以及很关键的相对布局与绝对布局的意义与用法。希望可以帮到使用duilib的新手朋友们。duilib高手就可以直接省略这篇文章了! 我刚使用duil...

如何通过Html网页调用本地安卓app?

如何使用html网页和本地app进行传递数据呢?经过研究,发现还是有方法的,总结了一下,大致有一下几种方式 一、通过html页面打开Android本地的app 1、首先在编写一个简单的html页面 <html> <head> <meta http-equiv="Content-Type" c...

cmake 备忘录

记录使用 cmake 时的常见需求和解决办法。 目录 1. 用于执行CMake的.bat脚本 2. 判断平台:32位还是64位? 3. 判断Visual Studio版本 4. 判断操作系统 5. 判断是Debug还是Release等版本 6. 根据Debug/Release添加不同的库目录 7. Visual Studio属性与对应CMake实现方法...

android学习笔记11——ScrollView

ScrollView——滚动条 用于内容显示不全,可提供滚动条下来形式,显示其余内容。 ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 特点如下:   1.只能有一个子控件   2.两个控件可以互相嵌套   3.ScrollView派生子FrameLayout   4.ScrollView——垂直滚动条;Horiz...

vue用hbuilderX打包app嵌入h5方式云打包和遇到的问题

vue用hbuilderX打包app嵌入h5方式云打包和遇到的问题 vue用hbuilderX打包app就可以了,不过有兼容性问题,转换rem的用不了,嵌入到app的webview里面变得很小了,另外还有返回键监听的问题需要处理,否则按手机上的返回键不起作用,另外缓存问题,加载页跳转白屏问题也需要优化。======================安卓本地打...

Android将view保存为图片并放在相册中

  在Android中,可以将view保存为图片并放在相册中,步骤为 view->bitmap->file,即先将view转化为bitmap,再将bitmap保存到相册中。      需要将红框标注的view转化为图片并保持到相册中。view的XML代码为 <RelativeLayout android:i...