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

Material Design 在 Android 中的应用

(image-3f86ab-1513646879600)] 2、BottomNavigationView 主题构建好了,下面就是主要内容架构,我大致分为四个模块:武器简介、人物简介、配件简介空头简介。...setOnNavigationItemSelectedListener {} 3、DrawerLayout、NavigationView BottomNavigationView相对的,不得不介绍一下...Toolbar作为早期Android中ActionBar的替代品,定制性操作性挺高了不少。使用的时候需要设置NoActionBar的主题。...项目中列表肯定是少不了的,那么这就不得不提RecyclerView了,强大之处不用多说,感兴趣的话看一下我之前写的博客,对其使用有个简单的介绍:简单粗暴RecyclerView 那如果想实现侧滑删除长按拖拽的功能怎么办呢...onItemDismiss(viewHolder.adapterPosition) } } RecyclerView建立连接 val mItemTouchHelper

1.2K20

SwipeRefreshLayoutRecyclerView使用的小问题

SwipeRefreshLayout是官方提供的下拉刷新控件,在使用过程碰到一些小问题大家分享下....} }) 下面的代码,虽然会出现下拉刷新的视图,但不会触发上面的监听 //这段代码如果写在onCreate方法中是无效的,因为SwipeRefreshLayout控件还未完全加载,可以使用延迟加载的方法使用下面的代码...}); } }); 还有一点需要注意,如果SwipeRefreshLayout控件中不包含任何控件,下拉手势是无法触发事件的,也不会有下拉刷新的视图 RecyclerView...有一点想要分享的是,如果你没有把它Adapter关联,他会跳过加载,不会实际去初始化这个控件,虽然在布局代码写着 这个和我上面提到SwipeRefreshLayout提到那个问题放在一起使用,就会产生你下拉不会触发事件的问题

1.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

实践 | Google IO 应用是如何适配大尺寸屏幕 UI 的?

应用在大尺寸屏幕 (平板、可折叠设备甚至是 Chrome OS 台式个人电脑) 上的使用体验是我们的关注点之一: 在过去的一年中,大尺寸屏幕的设备越来越受欢迎,用户使用率也越来越高,如今已增长到 2.5...其中在 res/layout 目录下的布局中包含了 BottomNavigationView,而在 res/layout-w720dp 目录下的布局中则包含了 NavigationRailView。...我们分别为会议列表详情窗格分配了 400dp 600dp 的宽度。...<com.google.android.material.appbar.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent...binding.appbar.doOnNextLayout { appbar -> if (appbar.width >= WIDE_TOOLBAR_THRESHOLD) { binding.activeFiltersWideStub.viewStub

2.1K20

RecyclerView多布局写法,“我的”、“个人中心” 页面经典写法演示

效果: 多布局的使用场景还是蛮多的,比如“首页”、“我的”等页面,早期的时候大家一般都是拼起来的,后来开始自定义ListView(支付宝现在的首页还是ListView),再到后来的RecyclerView...其实多布局都是一个套路,根据类型去引入layout,本文以RecyclerView为例,以BaseRecyclerViewAdapterHelper为辅演示多布局的写法。...的item也选中,BottomNavigationView的item选中的时候让ViewPager切换page 3.Fragment(“我的”页面) 布局,SwipeRefreshLayout(下拉刷新...multipleItem = new MultipleItem(MultipleItem.TYPE_TOOLS, 1); multipleItem.mString1 = "使用帮助...在构造里面addItemType绑定typelayout的关系 public class MultipleItemQuickAdapter extends BaseMultiItemQuickAdapter

86730

使用gcovlcov测试代码覆盖

gcov与 lcov简介 通过gcovlcov,可以很直观的看到代码的运行情况,同时也可以查看代码的行覆盖率,函数覆盖率等等信息,为开发提供一个方便的测试手段。...下面简单介绍linux下,使用gcovlocov进行代码覆盖率的测试。...lines……: 91.3% (21 of 23 lines) functions..: 100.0% (2 of 2 functions) 可以看到output目录下有index.html文件 使用浏览器打开...gcov 从上图可以看到 整个工程的代码行覆盖函数覆盖率,分支覆盖情况。 继续点击test.c,可以看到具体每行是否有跑到。 ? test.c 褐色表示未跑到过的代码,左侧数字表示跑到的次数。...总结 结合使用gcovlocv,可以比较直观的观察到运行的程序是否按照自己的设计,跑到了对应的代码中。当然对于以上过程,完全可以写成脚本,而无需每一次都进行如此繁杂的操作。

3.8K30

CoordinatorLayout使用全解析

NestedScrollView 在新版的support-v4兼容包里面有一个NestedScrollView控件,这个控件其实普通的ScrollView并没有多大的区别,这个控件其实是Meterial...在NestedScrollView的名字中其实就可以看出他的作用了,Nested是嵌套的意思,而ToolBar基本需要嵌套使用。...Meterial Design引入了Z轴的概念,就是所有的view都有了高度,他们一层一层贴在手机屏幕上,而FloatingActionButton的Z轴高度最高,它贴在所有view的最上面,没有view能覆盖它...support library包含了一个特殊的字符串资源@string/appbar_scrolling_view_behavior,它AppBarLayout.ScrollingViewBehavior...可以使用的其他flag有: enterAlways: 一旦向上滚动这个view就可见。

1.9K20

用 CoordinatorLayout 处理滚动

Floating Action Button Snackbar CoordinatorLayout 可以通过使用 layout_anchor layout_gravity 属性来创建悬浮效果。...statusBarColor">@android:color/transparent 通过像上面那样启用系统栏的半透明效果,你的布局会将内容填充到系统栏后面,因此你还必须在那些不想被系统栏覆盖的布局上使用...另外一种为 API 19 添加内边距来避免系统栏覆盖 view 的方案可以在这里查看。...确保在 CoordinatorLayout 的直接子 view 上使用了 app:layout_behavior="@string/appbar_scrolling_view_behavior" 属性。...第三方滚动视差效果库 除了使用上述的 CoordinatorLayout,还可以查看这些流行的第三方库来实现 ScrollView, ListView, ViewPager RecyclerView

4.7K92

【翻译】MotionLayout实现折叠工具栏(Part 1)

本文特点:没有 Kotlin/Java 代码,讲解部分全为 XML 代码,阅读时间短,获取技能: MotionLayout 的入门使用!...元素 OnSwipe 把过渡动画用户在 RecyclerView 上的拖拽操作绑定到了一起,也就是之前我们查看到的主布局中的列表。...在展开折叠状态下, RecyclerView 列表的上边缘是处于不同位置的,因为它被约束到了 ID 为 toolbar_image 的 ImageView 图片下边缘,而这个过渡动画的实现正是由于控制着这个位置变量的值...中的任何一个属性,也可以是 View 中的任何一个属性,但即使像 ImageView 这类作为 View 的子类控件,我们仍然需要使用一个 CustomAttribute 符号,这里实际上 ObjectAnimator...这事实上效果已经非常接近,但是仔细看你会发现这里与刚开始我们使用的 CoordinatorLayout 方式有一个细微的区别:在 CoordinatorLayout 布局下图片的褪色渐变动画 MotionLayout

1.9K31

Material Design 实战 之第四弹 —— 卡片布局

实际上,CardView也是一个FrameLayout,只是额外提供了圆角阴影等效果,看上去会有立体的感觉。...另外,为了让界面上的数据多一些,这里使用了一个循环,随机挑选50个水果。 之后是RecyclerView的逻辑,这里使用GridLayoutManager布局方式。...AppBarLayout ---- 首先RecyclerView会把Toolbar给遮挡住的原因: 由于RecyclerViewToolbar都是放置在CoordinatorLayout中的, 而前面已经说过...解决方法: 传统情况下,使用偏移是唯一的解决办法, 即让RecyclerView向下偏移一个Toolbar的高度,从而保证不会遮挡到Toolbar。...接下来使用AppBarLayout两步解决前面的覆盖问题: 第一步将Toolbar嵌套到AppBarLayout中, 第二步给RecyclerView指定一个布局行为(app:layout_behavior

2.1K10

详解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou实现手指滑动效果

CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou实现手指滑动效果 如何使用 CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou...底下的RecyclerView也跟随这个移动,不会出现中间隔出一段距离!(仅提供源码复制粘贴,很简单的) 先看下效果图: ? 下面上代码 XML布局代码如下: <?...:clipChildren="false" <android.support.design.widget.AppBarLayout android:id="@+id/Fragment_ontstf_<em>AppBar</em>...android:id="@+id/Fragment_ontstf_RecyclerView" android:layout_width="match_parent" android:layout_height...(); mPresenter.PselectUser(Userid); } /** * 最主要的代码 * AppBar滑动效果 */ private void AppBar() { FragmentOntstfAppBar.setExpanded

79611

Android开发笔记(一百三十五)应用栏布局AppBarLayout

节点包裹Toobar; 5、Toobar节点添加滚动属性app:layout_scrollFlags="scroll|enterAlways",声明工具栏的滚动行为标志; 6、演示页面的主体页面使用RecyclerView...控件,并给该控件节点添加行为属性app:layout_behavior="@string/appbar_scrolling_view_behavior",表示通知AppBarLayout捕捉RecyclerView...RecyclerView是其中一个特工,它可用来替代ListViewGridView;替代ScrollView的则另有其人,它便是嵌套滚动视图NestedScrollView,在Android5.0之后的...所以,搜遍Android的SDK源码,总共也只有三个控件符合这个条件,它们是RecyclerView、NestedScrollView,以及SwipeRefreshLayout,在布局文件中使用的名称如下所示...: RecyclerView : 使用名称android.support.v7.widget.RecyclerView NestedScrollView : 使用名称android.support.v4

1.9K40

Android使用CardView作为RecyclerView的Item并实现拖拽左滑删除

今天我们就来了解一下CardView的属性,然后使用CardViewRecyclerView结合实现一个可以拖拽Item的布局。...CardView应用在RecyclerView中 CardView通常会应用在RecyclerViewListView中,今天我们就讲一讲如何应用在RecyclerView中。...是不是觉得很棒,下面我们就用CardViewRecyclerView来实现一下这个效果。...ItemTouchHelper 想实现拖拽滑动删除的效果,很可惜RecyclerView并没有提供现成的API供我们使用,但是SDK为我们提供了ItemTouchHelper这样一个工具类帮助我们来轻松实现这些功能...大致意思就是,这是个工具类,可以实拖拽移动策划删除,使用这个工具需要RecyclerViewCallback。同时需要重写onMove()onSwiped()方法。

2K10
领券