热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:CoordinatorLayout的简单使用

篇首语:本文由编程笔记#小编为大家整理,主要介绍了CoordinatorLayout的简单使用相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了CoordinatorLayout的简单使用相关的知识,希望对你有一定的参考价值。






概念分析

            CoordinatorLayout 是一种协调布局,一般与 AppBarLayout 搭配着使用。


效果展示


代码展示


<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android&#61;"http://schemas.android.com/apk/res/android"
xmlns:app&#61;"http://schemas.android.com/apk/res-auto"
xmlns:tools&#61;"http://schemas.android.com/tools"
android:layout_width&#61;"match_parent"
android:layout_height&#61;"match_parent"
tools:context&#61;".MainActivity">
android:layout_width&#61;"match_parent"
android:layout_height&#61;"wrap_content">
android:layout_width&#61;"match_parent"
android:layout_height&#61;"50dp"
android:background&#61;"#f00"
android:minHeight&#61;"25dp"
app:layout_scrollFlags&#61;"scroll"/>
android:layout_width&#61;"match_parent"
android:layout_height&#61;"50dp"
android:background&#61;"#0f0"/>

android:id&#61;"&#64;&#43;id/rv_my_test"
android:layout_width&#61;"match_parent"
android:layout_height&#61;"match_parent"
app:layout_behavior&#61;"&#64;string/appbar_scrolling_view_behavior"/>

        要点剖析  


  • CoordinatorLayout 作为根布局
  • AppBarLayout 包括子布局 其中子布局可以添加 app:layout_scrollFlags&#61;"" 属性来控制动画&#xff0c;属性值有如下五种&#xff0c;大家自行尝试

scroll
scroll|enterAlways
scroll|enterAlways|enterAlwaysCollapsed //与android:minHeight&#61;"25dp"搭配使用
scroll|exitUntilCollapsed //与android:minHeight&#61;"25dp"搭配使用
scroll|snap //要么开&#xff0c;要么关

  •  结合 RecyclerView 使用&#xff1b;ListView不行
  • app:layout_behavior&#61;"&#64;string/appbar_scrolling_view_behavior"这个属性不能掉&#xff0c;这是系统自带的 behavior&#xff0c;后期我会教大家写 behavior。CoordinatorLayout原理的简析


   RecyclerView的写法



package com.wust.selfcoordinatorlayout;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private RecyclerView rv_my_test;
private MyAdapter mAdapter;
&#64;Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rv_my_test &#61; findViewById(R.id.rv_my_test);
mAdapter &#61; new MyAdapter();
RecyclerView.LayoutManager lm &#61; new LinearLayoutManager(this);
rv_my_test.setLayoutManager(lm);
rv_my_test.setAdapter(mAdapter);
}
private class MyAdapter extends RecyclerView.Adapter{
&#64;NonNull
&#64;Override
public RecyclerView.ViewHolder onCreateViewHolder(&#64;NonNull ViewGroup parent, int viewType) {
TextView tv &#61; new TextView(MainActivity.this);
return new MyVh(tv);
}
&#64;Override
public void onBindViewHolder(&#64;NonNull RecyclerView.ViewHolder holder, int position) {
MyVh ho &#61; (MyVh) holder;
TextView tv &#61; (TextView) ho.itemView;
tv.setText("position ->" &#43; position);
}
&#64;Override
public int getItemCount() {
return 100;
}
private class MyVh extends RecyclerView.ViewHolder{
public MyVh(&#64;NonNull View itemView) {
super(itemView);
}
}
}
}



推荐阅读
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有