一、概述、 水平滚动条 可以左右滑动 可与ViewPager协同使用 二、HorizontalScrollView里边只能放一个子元素 可以放一个Layout布局对象来盛放多个元素 里边可以设置指示器...和一条基准线 可以用来做导航栏类似于ActionBar的Tab导航栏,HorizontalScrollView做导航栏可以设置指示器跟随ViewPager页面移动实现动态效果 一般点击导航栏的某一项...ViewPager相应跳到对应的页面,ViewPager跳到指定页面时导航栏也应该切换到对应的导航分类处 三、下面是实现的代码 1 package com.qf.viewpager02_horizontalscrollview...view.ViewPager; 10 import android.view.View; 11 import android.view.ViewGroup; 12 import android.widget.HorizontalScrollView...Activity { 18 19 private ViewPager vPager; 20 private List views; 21 private HorizontalScrollView
ScrollView相信大家都已经比较熟悉了,它是支持垂直滚动的,在开发中经常使用到,与垂直滚动相对的就是水平滚动HorizontalScrollView,有时我们在进行页面切换的时候也会用到HorizontalScrollView...通过查看源码比较发现ScrollView和HorizontalScrollView有好多相同的方法。...在说扩展之前,我先说一下HorizontalScrollView的特点 (1) 支持水平滚动 (2) 和ScrollView一样,它只包括一个子View,通常是用LinearLayout作为它的子View...onSizeChanged方法是当HorizontalScrollView的大小发生改变的时候触发调用的; 标记具体被使用的过程如下: setSmoothScrollingEnabled(boolean...通过滚动来实现,那么就需要扩展HorizontalScrollView了。
从事开发Android,坑人的就是设备的差异性,相同的功能在相同的生产厂商不同的版本设备,或者是不同的生产厂商的设备实际效果具有差异性,最近在项目里面用到HorizontalScrollView功能,里面有...Sony Erissson这台设备上,点击一个按钮,滚动条会自动滚动到第一个按钮(只有第一次才会出现),验证了各种情况,大概明白可以能是因为焦点问题,所以一点击移动后的按钮,会自动回到第一个按钮处,可能HorizontalScrollView...第一个按钮就有焦点,知道焦点问题就好办了,查看HorizontalScrollView的api看见焦点的只有两个函数requestChildFocus和requestChildRectangleOnScreen
本节内容我们来分析一下横向滚动视图HorizontalScrollView。...= (HorizontalScrollView) findViewById(R.id.horizontalScrollView); container = (LinearLayout)...= (HorizontalScrollView) findViewById(R.id.horizontalScrollView); container = (LinearLayout)...= (HorizontalScrollView) findViewById(R.id.horizontalScrollView); UITools.elasticPadding(horizontalScrollView...效果如下: 2)添加回弹效果 HorizontalScrollView添加回弹效果,有两种方案:①自定义HorizontalScrollView;②使用工具类; ①自定义HorizontalScrollView
利用HorizontalScrollView+TabLayout+ViewPager+XUtils简单实现一个小Demo; 首先配置环境: 添加权限: <uses-permission android:...match_parent" android:orientation="vertical" tools:context="com.example.myxutils.MainActivity"> HorizontalScrollView...layout_height="wrap_content" android:id="@+id/tab"> HorizontalScrollView
一 HorizontalScrollView基本介绍 HorizontalScrollView是Android SDK中的一个视图容器,它允许用户在水平方向上滚动其子视图。...以下是HorizontalScrollView的一些基本特点和使用注意事项: 布局结构:HorizontalScrollView作为父容器,包裹一个只能在水平方向上滚动的子视图。...二 HorizontalScrollView使用方法 HorizontalScrollView与ScrollView类似,但是支持水平方向上的滚动。...以下是一个简单的HorizontalScrollView案例: HorizontalScrollView android:layout_width="match_parent" android...:设置是否要求子视图填充HorizontalScrollView的可视区域。
HorizontalScrollView 中,就可以实现滑动效果了。...产品的口味可是很刁钻的,单单使用默认的滑动策略,通常是很难满足产品的,虽然也可以通过一些反射等手段来修改 HorizontalScrollView 的默认实现,但有点复杂,且容易出问题。...6.2 HorizontalScrollView 滑动原理 既然滑动要自己撸,那当然是要先参考一下 Google 大神的实现思路了,所以首先就先来看看 HorizontalScrollView 的滑动原理是怎样的...仅仅使用 HorizontalScrollView 默认的滑动效果很难满足产品需求,就像开头的当贝市场的示例图,很明显,它的滑动策略跟 HorizontalScrollView 就是不一样的,它是焦点快接近边缘时...这种策略就完全不同于系统默认的策略,因此 HorizontalScrollView 就排不上用场了,那么就自己撸吧,不就是滑动的时机和滑动的距离计算要自己撸嘛,不难。
2.水平滚动:HorizontalScrollView 在LinearLayout里新建一个HorizontalScrollView,同样他的子元素只能有一个 ?...所以在HorizontalScrollView布局中再加一个子布局LinearLayout,且LinearLayout为水平方向: ? 代码如下: <?...20dp" android:textAllCaps="false" android:layout_marginTop="160dp"/> HorizontalScrollView...layout_height="300dp" android:text="按钮4" /> HorizontalScrollView
自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。...的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScrollView...本篇博客首先介绍HorizontalScrollView的简单用法,然后会在此基础上进行扩展,自定义HorizontalScrollView实现我们上面提到的效果,类似一屏可以显示多个View的ViewPager...自定义HorizontalScrollView 思想: 1、首先根据屏幕的大小和Item的大小,计算可以一个屏幕最多可以加载多少个Item,然后加载该数量Item。...滑动到一定距离时,加载下一张,删除第一张 3、当用户左滑(从左向右),滑动到一定距离时,加载上一张,删除最后一张 public class MyHorizontalScrollView extends HorizontalScrollView
> HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+...android:layout_height="match_parent" android:orientation="horizontal" > HorizontalScrollView...android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.widget.Button; import android.widget.HorizontalScrollView...import android.widget.LinearLayout; public class SideBarByScrollView extends Activity { private HorizontalScrollView...super.onCreate(savedInstanceState); setContentView(R.layout.mysrollview); mySrollView = (HorizontalScrollView
Caused by: java.lang.IllegalStateException: ScrollView can host only one direct child 2.水平滚动视图 HorizontalScrollView...这时就需要使用水平方向的滚动视图 HorizontalScrollView。...在上面代码头部新增一个 HorizontalScrollView,水平方向线性布局4个 ImageView,代码如下: HorizontalScrollView中的图片内容,可以横向滑动,并且整个布局由于外部嵌套了 ScrollView,整体页可以竖直方向滑动。...注意:同 ScrollView, HorizontalScrollView中的子元素也只能有一个,否则报错。
android:textSize="18sp" android:textStyle="bold" /> HorizontalScrollView...center_vertical" android:orientation="horizontal" > HorizontalScrollView...android.view.View.OnTouchListener; import android.view.ViewGroup.LayoutParams; import android.widget.HorizontalScrollView...android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { private HorizontalScrollView...user_birth_value = (TextView) findViewById(R.id.user_birth_value); user_birth_value.setText("1970"); ruler = (HorizontalScrollView
有的朋友可能注意到,要想实现一点一点向左滑动或是向右滑动,而不是整个页面的滑动,也就是如果没有滑到下一页会反弹到原来的那页,就不能用这个方法了,那么就需要用到HorizontalScrollView,关于...HorizontalScrollView实现的滑动菜单使用及示例,请看下面的第二种解决方案。 ...第二种解决方案: 第二种解决方案我是采用的HorizontalScrollView实现的,这种布局可以实现横向滑动效果,但要注意只能有一个直接子标签。...好了,让我们看下布局代码: HorizontalScrollView android:layout_width="match_parent" android:layout_height...如果要在HorizontalScrollView>上方标题或是下方设置内容,我们可以把HorizontalScrollView>嵌套在其它的布局中,相信这个大家都可以做到,不再多说。
text="some info" android:textSize="12dp" /> 数据适配器: package com.example.zhy_horizontalscrollview03...最后在Activity中使用: package com.example.zhy_horizontalscrollview03; import java.util.ArrayList; ... android:src="@drawable/ic_launcher" /> horizontalscrollview03...然后看我们自定义RecyclerView的代码: package com.example.zhy_horizontalscrollview03; import android.content.Context...至于优化:我使用了一个成员变化存储当前第一个View,只有第一个View发生变化时才回调~~太完美了~ 看MainActivity: package com.example.zhy_horizontalscrollview03
左右滚动使用HorizontalScrollView,来处理滚动。我写一个类MyHScrollView继承 自它。 2.1 ....而分发给 “列头里的 可滚动部分的控件”,该控件是一个HorizontalScrollView的 子类, 当它收到这些 拖动事件时,就产生了固定的效果 3.2....我写了一个 HorizontalScrollView的子类,重载 onScrollChanged 方法,该方法在 滚动之后执行,相当于“滚动后的事件”,我写了一个观察者(设计模式)的类。
可移动页面MoveActivity 滑出式菜单从界面上看,像极了一个水平滚动视图HorizontalScrollView,当然也可以使用HorizontalScrollView来实现侧滑菜单。...倘若在外侧加个HorizontalScrollView,由于HorizontalScrollView的宽度只能是wrap_content,因此子视图的宽度也只能是wrap_content而不能是match_parent...了,故而HorizontalScrollView做不到子页面全屏的效果。
TabLayout.Tab tab) { } }); 3.点击滑动到屏幕中央,并再次点击可取消 [tablayout03.gif] 这样的效果很实用,很多App都会有这样的效果,以前我都是用HorizontalScrollView...后来想想TabLayout继承自HorizontalScrollView,选中也会自动滚动并居中,于是就选用了它来实现,相对于直接使用HorizontalScrollView代码量更少。
系统提供了一个侧拉抽屉控件,叫 DrawerLayout,使用过的人都知道,效果不错并且有一定拓展性,基于 DrawerLayout 我们可以实现 QQ 的效果,但是今天我们要介绍的是另一个思路:自定义 HorizontalScrollView...再仔细观察菜单的切换你会发现,忽略缩放、透明度等动画,其实菜单切换的过程就是三部分滚动的过程,于是,我们就有了一个大体的思路: 用一个 HorizontalScrollView 包裹三个部分的试图,通过控制...HorizontalScrollView 的滚动距离来实现展示不同的部分。...自定义 HorizontalScrollView 有了思路,我们就有了方向,废话不多说,开始撸代码。...(1)首先新建一个类,集成自 HorizontalScrollView public class CurtainsLayout extends HorizontalScrollView { public
至于这么实现,很简单就是通过继承HorizontalScrollView,再判断滑动的距离以滑到对应的View或菜单。具体如下: 首先,在item的界面布局方面如下: HorizontalScrollView类所自定义的控制菜单滑动的类。...这个类的源码如下: public class ScrollListViewItem extends HorizontalScrollView{ private static int ScreenWidth
,然后把0~1转化为1~0.7(假设内容区域缩小至0.7);不断去缩小内容区域; 对于区别3:也比较好办,上面已经可以得到0到1的这个值了,那么缩放和透明度的动画就不在话下了; 对于区别2:我们使用的HorizontalScrollView...android.util.TypedValue; import android.view.MotionEvent; import android.view.ViewGroup; import android.widget.HorizontalScrollView...android.widget.LinearLayout; import com.zhy.utils.ScreenUtils; public class SlidingMenu extends HorizontalScrollView...closeMenu(); } else { openMenu(); } } } 利用HorizontalScrollView
领取专属 10元无门槛券
手把手带您无忧上云