参考资料: https://blog.csdn.net/Tobey_r1/article/details/93221486 项目背景是Android开发新闻APP,实现新闻文本的分类,内容的展示,并实现收藏分享功能等. 参考大佬的代码实现了顶部标题栏和左右滑动,有兴趣的同学可以去原作者那里参考.…
官方推荐 ViewPager与Fragment一起使用,可以更加方便的管理每个Page的生命周期,这里有标准的适配器实现用于ViewPager和Fragment,涵盖最常见的用例.FragmentPagerAdapter和FragmentStatePagerAdapter这两个类都有简单的代码显示如何构建一个完整的用户界面与他们.   适配器类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28…
RadioGroup中的各个选择器 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false" android:drawable="@color/bg_checked"/> <item android:state_checked="true" an…
public class FragAdapter extends FragmentPagerAdapter { private List<Fragment> fragments ; public FragAdapter(FragmentManager fm){ super(fm); } public FragAdapter(FragmentManager fm,List<Fragment> fragments) { super(fm); this.fragments = fragm…
在 ViewPager 和 Fragment 配合使用的时候,ViewPager 会使用预加载机制,使得我们在没有切换到到对应页面时,就已经加载好了,这是个非常不好的用户体验. 所以本示例项目就诞生了. 关键字:setUserVisibleHint 实例: 示例结构:使用Activity嵌套Fragment MainActivity public class MainActivity extends AppCompatActivity { private ArrayList<Fragment>…
效果图 在gradle里导包  implementation 'com.android.support:design:28.0.0' activity_main <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/…
导入依赖库: compile 'com.android.support:design:25.3.1' 1.fg_content_demo2.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="mat…
先上图,然后说大致步骤,最后再说细节 图片效果:依序点击导航栏左一.左二.中.右二.右一,最后直接滑动页面(不依靠导航栏切换) 大致步骤如下(文末会有完整代码) [1]创建一个类,我这里取名TabBarViewPager,然后继承ViewPager [2]在TabBarViewPager类里面,添加构造函数.onTouchEvent(可以使滑动页面失效,只能使用下方的导航栏) [3]在需要用到的类(本文的类是TabBar.java),添加相关会用到的对象 [4]在TabBar里面添加内部类Vie…
首先来看下实现的效果吧: 最近在项目中实现这个效果的时候.尽管自己磕磕绊绊的实现了,可是知识确实模模糊糊的,今天天气异常的冷,在加上这个知识不太熟练,实在是没有心情进行接下来的计划,干脆借着这个时间,好好的整理一下这个实现方式.也在次总结一下,记忆更加深刻. TabLayout简单介绍 在2015年的Google I/O大会上,Google公布的新的Android Support Design库,里面也包括了几个新的控件,那么TabLayout就是当中一个.使用该组件我们能够非常轻松的实现Tab…
在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragment与Activity之间的交互(两种实现方式)>中我们介绍了ViewPager以及Fragment各自的使用场景以及不同的实现方式. 那如果将他们两结合起来,会不会擦出点火花呢,答案是肯定的.之前在介绍ViewPager时,我们实现了多个ImageView的切换,并配合更新导航原点的状态.那我们现在…
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3364728.html 我前两天写过一篇博客<Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信>(http://www.cnblogs.com/tiantianbyconan/p/3360938.html),实现了Tab切换时保留当前Fragment状态,并在切换前自动回调onPause()方法,在切…
该TabLayout的功用,简单的说,就是当用户在该TabLayout的选项卡子item中选择触摸时候,文字和下方的指示器横条滑动指示.android.support.design.widget.TabLayout在Android扩展(extras)支持(support)包design中,但是design又依赖另外一个support v7包中的appcompat库,因此需要事先导入,在导入过程中,如果某些res目录下的value值过高比如value-23(Android SDK 23)但不巧发生…
原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 效果:滑动切换:点击标签切换. 代码:https://github.com/ldb-github/Layout_Tab 1.布局:使用LinearLayout布置标签:再使用ViewPager来布置Fragment:使用ImageView作为指示器. <?xml version="1.0" encoding="utf-8"?> <…
 今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可以相应地完成切换,而当我们点击Tab时,我们的屏幕同样可以完成切换.讲到滑动,我们会立即想到PagerView,讲到ActionBar,我们立即会想到将ActionBar的导航模式.那么,我们今天要做的一件事情就是,通过这些组件的组合,来实现这样一个效果. 按照一般的思路,我们或许会这么做:首先,使…
一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和menu,在程序运行中一直置于顶部,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,方便操控. 二.ActionBar的功能 用图的方式来讲解它的功能 <1> ActionBar的图标,可显示软件图标,也可用其他图标代替.当软件不在最高级页面时,图标左…
action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个layout 什么layout都可以 加个Id 叫container package com.example.demoforactionbar; import android.app.ActionBar; import android.app.Activity; import android.app.…
通常,android.support.design.widget.TabLayout与Android的ViewPager联合使用,实现与ViewPager的切换与联动.(1)比如,当用户手指触摸选择TabLayout中的某一项时候,ViewPager应当自动切换跳转到相应的Page页面:(2)同样,当用户在翻动ViewPager时候,TabLayout也会自动的滚动到与当前ViewPager页面像对应的子item tab并使该子item tab处于选中状态. 测试用的主Activity Main…
实现的效果,左右滑动,底部栏跟着滑动,中间加的是分帧的页面        上代码:主页面activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app=&…
1.首先上效果图 2.本例实现的效果主要适用于当前页面有多个页签时.进行Fragment切换时,能够利用不同的Menu样式与当前Fragment中的内容进行配合,能够大大添加复用性,看到效果图后,以下我来介绍我实现这一效果的主要步骤 2.1  由于此处我有3个样式,那么我须要在res/menu 目录下创建三个文件,style1.xml,style2.xml,style3.xml.这里我以style1.xml为例.详细的文字图标文件可依照需求,style2.xml,style3.xml类似. st…
简单实现Fragment+ViewPager实现主页导航控制,效果如下: 一.activity_main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&qu…
序] 在初步开发Android应用中,我们会遇到一个问题,顶部标题栏的名字是项目名字(app名字)并且不可编辑.非常的不方便,那么我们有什么办法把他去掉呢? [相关文章] [开发工具] Android Studio 2.2 [准备工作] 脑子 [开发教程] 项目结构 1.打开 res -> values -> styles :如图所示的部分就是修改主题的地方. 2.修改 DarkActionBar 为 NoActionBar. 默认AppTheme: <style name="…
什么是Fragment? Fragment是Android3.0后新增的概念,Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个Activity中,我们可以合并多个Fragment在一个单独的activity中建立多个UI面板,或者重用Fragment在多个activity中. 关于Fragment的生命周期,由于Fragment需要依赖Activity,也就是说当一个Activity的生命周期结束之后,那么Fragment…
问题描述 最近在进行一个项目的开发,其中使用到了Tablayout+Fragment+viewPager来搭建一个基本的框架,从而出现了设置数据适配器的时候,item的位置错乱问题.我打印log日志的时候发现原来是,设置了两次数据数据适配器,考虑到ViewPager的预加载数据问题,我就想到了问题出现了在这里.当我加载第一个tablayout的tab的时候,第二个tab的数据已经初始化完毕了,从而导致了数据适配器设置了两次的问题,也就出现了数据错乱的问题. 解决方案 我使用了下面的方法就解决了问…
一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和menu,在程序运行中一直置于顶部,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,方便操控. 二.ActionBar的功能 用图的方式来讲解它的功能 <1> ActionBar的图标,可显示软件图标,也可用其他图标代替.当软件不在最高级页面时,图标左…
如果你还在为处理滑动冲突而发愁,那么你需要静下心来看看这边文章,如果你能彻底理解这篇文章中使用的技术,那么,一切滑动冲突的问题解决起来就轻而易举了: 先扔一个最终实现的效果图 先分析下效果图中实现的功能点 顶部下拉时背景图形成视差效果 上拉时标题栏透明切换显示 底部实现TabLayout+ViewPager+Fragment+RecyclerView NestedScrollView+ViewPager的滑动冲突解决 NestedScrollView+RecyclerView滑动冲突的解决 复杂…
代码地址如下:http://www.demodashi.com/demo/14552.html 前言 顶部导航栏,是我们在开发中比较常见的一种显示布局,它的实现可以有多种方式,那么今天我们就来讲讲 TabLayout 对它的实现 今天涉及的内容有: 实现导航栏的几种方式 库的导入 TabLayout的具体使用 效果图 一.实现导航栏的几种方式及解析 我们在实现顶部导航的时候,可以有多种选择: ViewPagerIndicator + Fragment + ViewPager ActionBar…
TabLayout是android.support.design里的一个控件,使用它可以很方便的做出顶部导航和底部导航.类似于这样的,能设置选中时字体的颜色和选中时的图片. 首先我们在 build.gradle中引入 compile 'com.android.support:design:23.2.1' 布局文件如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi…
TabLayout——选项卡布局,通过选项卡的方式切换view并不是material design中才有的新概念,选项卡既可以固定,也可以滚动显示效果如下: 通过addTab方法可以实现选项卡的动态添加: tabLayout.addTab(tabLayout.newTab().setText("tab1")); 通过setupWithViewPager()方法可以和Viewpager关联起来.此方法使tab的选中事件能更新ViewPager,同时ViewPager 的页面改变能更新ta…
让tablayout中的Tab平铺:在tablayout布局中写: app:tabMaxWidth="0dp"app:tabGravity="fill"app:tabMode="fixed" 这是要放TabLayout的Fragment: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation…
这是在我写的新闻App中实现的界面切换 贴出切换界面的主要代码: xml代码: <span style="font-size:14px;"> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="0dp" android:…