viewpager

自定义不占满全屏可左右滑动的卡片

感情迁移 提交于 2019-12-01 16:04:22
效果图 方案一 修改ViewPager 实践中发现许多较为关键的类、变量、方法都是私有的,无法进行操作,只好定义SuperViewPager继承自ViewGroup,复制ViewPager里面所有内容并进行修改 1.定义两个自定义属性,pagerSpace代表两个卡片之间的距离,pageOerlayWidth代表卡片越界布局的宽度 12345678910 public (Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SuperPager); pagerSpace = a.getDimensionPixelSize(R.styleable.SuperPager_sp_pagerSpace, (int) dp2px(20)); pageOerlayWidth = a.getDimensionPixelSize(R.styleable.SuperPager_sp_pageOerlayWidth, (int) dp2px(12)); a.recycle(); initViewPager(); } 2.修改onLayout()方法

ViewPager实现页面切换

馋奶兔 提交于 2019-12-01 10:09:58
上图先: 采用3个布局文件的形式设置滑动页面 xml布局: 1 <android.support.v4.view.ViewPager 2 android:id="@+id/vp_robot_main" 3 android:layout_width="match_parent" 4 android:layout_height="236dp"> 5 6 </android.support.v4.view.ViewPager> 7 8 <!--小圆点--> 9 <LinearLayout 10 android:id="@+id/viewGroup" 11 android:layout_width="match_parent" 12 android:layout_height="33dp" 13 android:layout_alignParentBottom="true" 14 android:gravity="center" 15 android:orientation="vertical"> 16 17 <LinearLayout 18 android:layout_width="wrap_content" 19 android:layout_height="wrap_content" 20 android:layout_marginTop="3dip" 21 android

android中ViewPager详解--视图滑动、界面卡等效果 (一)

耗尽温柔 提交于 2019-12-01 04:29:20
1. 这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一。利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与LisstView类似,我们也需要一个适配器,他就是PagerAdapter。看一下api的图片, 2. ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。 分三个步骤来使用它: 1.在布局文件里加入ViewPager <android.support.v4.view.ViewPager 这个组件,注意这个组件是用来显示左右滑动的界面的,如果不加载xml布局文件,他是不会显示内容的。 android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > 2.加载要显示的页面 将要分页显示的View装入数组中:分页显示的View分别由留个布局文件组成,每一个布局文件里是一个View LayoutInflater lf = getLayoutInflater().from(this); view1 = lf.inflate(R.layout

Android Tab大总结 Fragment+TabPageIndicator+ViewPager

大城市里の小女人 提交于 2019-12-01 04:17:33
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24740977 Android现在实现Tab类型的界面方式越来越多,今天就把常见的实现方式给大家来个总结。目前写了: 1、传统的ViewPager实现 2、FragmentManager+Fragment实现 3、ViewPager+FragmentPagerAdapter实现 4、TabPageIndicator+ViewPager+FragmentPagerAdapter 1、传统的ViewPager实现 主要就是ViewPager+ViewAdapter这个还是比较常见的,就不多说了 效果图: 代码: package com.example.mainframework02; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager

Android Support V4、V7、V13介绍

流过昼夜 提交于 2019-12-01 04:16:01
一、Android Support v4、v7、v13 介绍 Google提供了 Android Support Library package 系列的包来保证** 高版本sdk开发的向下兼容性** (即我们用 4.x 开发时,在 1.6 等版本上,可以使用高版本的有些特性,如Fragement,ViewPager等)。简单说明下这几个版本间的区别: v4 : 这个包是为了 照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。 v7 : 这个包是为了考虑照顾 2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含(默认情况下,依赖 v7 自动导入了 v4)。 v13 :这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。(当初是为了开发平板做设计的。Android 3.x 系统都是平板专用系统,但是 3.x 系统失败了。所以使用v13的包没有任何价值。) 注 :v7版本适用于任何版本的开发,保证了兼容性,所以在使用的时候一定要采用。 二、v4 包 与 v7 包 冲突问题解决 问题出现: 在使用第三方库的时候,有时第三方库会依赖 v4 包,而我们的项目默认使用 v7 包。如果这时 v4 包的版本与 v7 的版本不一致

程序猿媛二:Android底部导航栏(选项卡)

我们两清 提交于 2019-12-01 00:03:40
底部导航栏(选项卡) ViewPager+RadioGroup 声明:博文为原创,文章内容 为,效果展示,思路阐述,及代码片段。源码请通过应用内下载。 转载请保留原文出处“ http://my.oschina.net/gluoyer/blog ”,谢谢! 应用下载 :“ http://mail.sina.com.cn/netdisk/download.php?id=d156f9c2124d9db7ce5de4007594800463 ” 引子:昨天群里有人说用Button做导航栏,然后,用ViewPager结合Fragment做显示,后退会崩溃!?! 强烈 表示 不相信,今天整理了一下类似功能,给吖看看,也顺便记录一下。 本文介绍:利用RadioGroup做导航栏,ViewPager结合Fragment管理显示页面。 可以通过点击导航栏,或者左右滑动手势,切换页面。 Fragment的内容,根据需求设置。 示例中,添加了文本,列表,ViewPager三种。 实现效果如下: 主页面的布局文件activity_btm_navi.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout

Androidx navigation + bottomNavigationView 基本使用

て烟熏妆下的殇ゞ 提交于 2019-11-30 12:55:48
首先说一下这个的实现效果类似我们现在实现的方式ViewPager切换fragment,我们可以更简单,更优雅的实现我们的目标,毕竟Google推出的框架嘛,感觉还是不错的,个人感觉还是得看一下官方文档,虽然是英文,不过一点点翻译呗,每一步都讲得蛮细的。 首先配置一下gradle: implementation 'android.arch.navigation:navigation-fragment:1.0.0' implementation 'android.arch.navigation:navigation-ui:1.0.0' implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:appcompat-v7:28.0.0' implementation "com.android.support:support-v4:28.0.0" 接下来我们就可以使用相关的api啦! 首先我们新建一个activity,叫MainActivity,布局文件如下: <fragment android :id ="@+id/nav_host_fragment" android :name ="androidx.navigation.fragment.NavHostFragment"

GitHub 上受欢迎的 Android UI Library 整理一

不羁的心 提交于 2019-11-30 00:05:15
抽屉菜单 https://github.com/mikepenz/MaterialDrawer ★7337 - 安卓抽屉效果实现方案 https://github.com/Yalantis/Side-Menu.Android ★3865 - 创意边侧菜单 https://github.com/mxn21/FlowingDrawer ★1744 - 向右滑动流动抽屉效果 https://github.com/yarolegovich/SlidingRootNav ★1338 - 仿DrawerLayout的ViewGroup https://github.com/mzule/FantasySlide ★1049 - 单手势滑出侧边栏与选择菜单 https://github.com/andremion/Floating-Navigation-View ★779 - 浮动菜单显示锚导航视图 https://github.com/heinrichreimer/material-drawer ★525 - MD风格的自定义抽屉实现 https://github.com/Brioal/SwipeMenuDemo ★514 - 侧滑菜单动画效果库 https://github.com/rom4ek/ArcNavigationView ★326 - 具有曲线边缘的NavigationView

android v4 v7问题

℡╲_俬逩灬. 提交于 2019-11-29 22:45:17
一.v4包与V7包的介绍 1.android-support-v4 是谷歌推出的兼容包,最低兼容Android1.6的系统,里面有类似ViewPager等控件。ViewPager在Android 1.6以下的版本是不自带的,所以要实现ViewPager需要使用v4包中的ViewPager。还有v4 的fragment。 2.android-support-v7是谷歌推出的版本兼容包,最低兼容Android2.1的系统,这个包通常和appcompat-v7这个工程一起使用。 appcompat-v7这个工程可以让开发者统一开发,在任何系统版本下保证兼容性。涉及的内容有Theme,value,布局,新的控件,新的动画实现方式, 特别注意: 包含了support-v4的全部内容,开发Android工程时,要兼容低版本都要导入v7工程。 android studio在创建工程的时候默认导入了v7工程,并且将style使用了兼容style,给开发者提供了极大的方便。并且最新的v7包增加了很多material design的兼容类和素材,请及时更新。 3.android-support-v13是谷歌推出的版本兼容包,最低兼容Android3.2的系统。当初是为了开发平板做设计的。(价值不大) v7版本适用于任何版本的开发,保证了兼容性,所以在使用的时候一定要采用。 compile ‘com

AndroidBar_Tab_ViewPager分页界面并滑动Tab

徘徊边缘 提交于 2019-11-29 22:45:06
Jerikc: 在Android4.0中,是通过ActionBar + tab + view Pager的方式实现的,而不是通过传统的TabHost+tab的方式 仿照Android4.0拨号界面实现分页的界面,如下: 1、ViewPager是安卓的扩展包,可以从源代码out/target/common/obj/JAVA_LIBRARIES /android-support-v13-intermediates/classes.jar拷贝,注意是android-support-V13而 不是android-support-v4,因为Activity中getFragmentManager()返回的 android.app.FragmentManager对象,而v4中FragmentAdapter的构造函数参数类型 android.v4.Fragmentmanager,所以你懂的,不兼容,而v13完美兼容。 Jerikc: jar包所在位置是\android-sdk\extras\android\support\v13\android-support-v13.jar 当然在v13目录下,有一个Support13Demos,大家可以用来学习参考! 步骤如下: 1. launch eclipse --> File --> New --> Project --> Android Project