首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个卡片式的ViewPager,带你玩转ViewPager的PageTransformer属性!

5.ViewPager结合CardView 1.clipChildren属性 clipChildren属性表示是否限制子控件在该容器所在的范围内,clipChildren属性配合layout_gravity...属性,可以用来设置多余部分的显示位置,我这里举一个简单的例子,比如喜马拉雅FM这个应用的首页: 大家注意看这个应用底部导航栏中中间一个是要比另外四个高的,这种效果很多人就会想到使用一个RelativeLayout...> 大家看只需要在根节点添加clipChildren属性,然后在第三个ImageView上添加layout_gravity属性即可,layout_gravity属性值为bottom表示控件大小超出后控件底部对齐...5.ViewPager结合CardView 如果你还不会使用CardView,可以参考我之前的文章Android5.0之CardView的使用,那今天我们来看看ViewPager结合CardView会产生怎样的效果呢...这个CardView式的ViewPager我们就使用这种方式来实现。先来看看效果图: 整体思路和上文其实是一致的,我们来看看activity的布局: <?

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    性能优化之布局优化记录

    父布局 对于ViewGroup的选择问题:推荐FrameLayout > LinearLayout > RelativeLayout(为了优化布局,RelativeLayout会调用childrenView...的onMeasure()两次),推荐阅读:LinearLayout与RelativeLayout的性能比较 尽量不要嵌套使用RelativeLayout..../colorAccent 注:Navigation的background会影响4.4系统的状态栏 CardView会自动加一层背景色 ripple里的默认颜色为标签下设置,...比较直观的感觉是:在设置里打开显示布局边界后,如果不是使用标签,GONE掉后,加载中的布局还是会有颜色显示,而使用了此标签后颜色会消失。...使用前 使用后 3、:在使用了include后可能导致布局嵌套过多,多余不必要的layout节点,从而导致解析变慢,不必要的节点和嵌套可通过hierarchy viewer(下面布局调优工具中有具体介绍

    43620

    一文彻底搞清楚 Material Design

    为了满足 Material Design 的层次要求,android 5.0 后增加了 Z 轴,用来表示控件的海拔,海拔的效果具体体现在阴影上。...也就是优先被绘制,而z属性越大,则绘制时间越晚,后绘制的将会遮盖住先绘制的,只有Z属性相同,才按照添加的顺序绘制。...海拔的演示 比如 CardView 和 TextView RelativeLayout android:layout_width="match_parent" android...> 这样的话 TextView 是不会显示出来的,因为 TextView 的默认海拔是0 ,就被 Cardview 给挡住了,因为 CardView 的默认海拔是 2dp,如果你将 TextView 的海拔设置为...阴影的条件 阴影由轮廓和海拔共同决定。 海拔决定了阴影的大小,轮廓决定了阴影的形状。 阴影一定需要有轮廓然后海拔增高后才能被投射出来,两者缺一不可。

    3.3K10

    Android Studio 教程:创建 Android 应用

    它将帮助您迈出学习 Android 开发的第一步。 该应用程序将有一个简单的 UI 和几行 java 代码,以便您可以开始进行 android 开发。在获得基本确认后,您当然可以使其功能更加丰富。...更新 Android 应用 XML 文件 现在在 res 文件夹中,转到 layout 文件夹中的 activity_main.xml 文件并编写以下代码。...> 更新 MainActivity.java 文件 在 java 文件夹中,转到包中的 MainActivity.java 文件并编写以下代码。...这里给出了按钮的“id”,然后设置了 Click Listener。单击此“单击我”按钮后,我们会看到一个祝酒词(一条显示“按钮已单击!”的短消息)。...此外,您还应该阅读下面的 Android Studio 教程以了解如何正确设置它。

    2.3K20

    未来布局之星——ConstraintLayout

    建立依赖 ConstraintLayout布局是Android Studio 2.2的新增功能,所以在建立依赖前需要将Android Studio更新至2.2版本或以上。...Tree,在其下方右键单击activity_main(RelativeLayout),在弹出的列表中选择Convert RelativeLayout to ConstraintLayout,如下图所示...TextView控件,单击键盘delete按钮删除该控件。...如下图所示,单击打开工具栏中Autoconnect功能按钮,将控件拖至屏幕中心,然后约束就会自动添加了,这个相信使用过墨刀设计过APP原型的读者们会感到很熟悉。 ?...Inference是手动添加约束后,对当前界面所有控件的位置关系添加整体约束关系,感觉和Photoshop里面不同布局中的图像调整好位置后合并可见图层很像。Inference操作如下图所示: ?

    1.9K20

    Android绘制优化(二)布局优化

    Layout View:整体布局图,以手机屏幕上真实的位置呈现出来。单击某一个控件,会在Tree Overview窗口中显示出对应的控件。...从图中可以看出被选中的RelativeLayout自身的Measure、Layout和Draw的耗时数据都为n/a。单击Layout Time按钮后,就可以查看View的耗时情况了,如下图所示。 ?...检查的范围主要有以下几点: Correctness 正确性 Security 安全性 Performance 性能 Usability 可用性 Accessibility 可达性 Internationalization...点击上图的OK按钮后,就会进行代码检查,检查的结果如下图所示。 ?...在使用ViewStub时需要主要以下问题: ViewStub只能加载一次,加载后ViewStub对象会被置为空,这样当ViewStub引用的布局被加载后,就不能用ViewStub来控制引用的布局了。

    1.2K80

    Android开发笔记(二十二)瀑布流网格WaterfallGridView

    放置网格的算法便是一开始提到的RelativeLayout方案,在代码实现时要提供RelativeLayout.LayoutParams布局参数,然后调用该参数的addRule位置方法,常量RelativeLayout.RIGHT_OF...当然需要对第一个视图先分配一个临时数字id,后面的视图编号依次累加;每次添加完毕一个视图,都要更新步骤一提到的列高度数组,后续才能根据这个数组来判断新的网格放在哪一列的哪个视图下方。...最后不要忘了实现瀑布流的元素单击和元素长按的监听器与调用方法,即OnItemClickListener的onItemClick,以及OnItemLongClickListener的onItemLongClick...接着在弹起事件中判断要如何处理弹起事件,单击和长按可以通过按下的时间长短来区分,网格位置的position,可以用当前控件的编号id减去第一个视图的临时id,它们的差便是当前网格的序号。...当然StaggeredGridView项目自从2014年之后就没有更新,所以无人解决问题使得用户越来越少了吧。 ?

    2.5K60

    RecyclerView性能优化的最后一公里

    很诡异的是,就算是到2021年的秋天,无论你怎么搜索,还是很难找到正确使用ViewCacheExtension的方法。...itemView布局文件代码如下: cardview.widget.CardView xmlns:android="http://schemas.android.com/apk...我们知道Android每帧的耗时超过16ms就要掉帧了。所以相对来说比较卡顿。实际运行程序,也会发现跳转到该Activity明显不流畅。 对比下优化后的效果。...前提是不修改HeavyTextView,仍然休眠100ms 对比RV OnLayout事件,优化后的效果只需要76ms。将近10倍的优化空间。实际效果是,跳转Activity很顺滑很流畅。 4....布局间距不正确。解决方案:先将itemView add到临时viewGroup上,然后remove掉。 缓存复用不正确。解决方案:反射设置ViewHolder的itemViewType。 缓存不够用。

    1.4K20
    领券