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

【建议收藏】17个XML布局小技巧

前言 我们开发时接触最多的就是xml布局了,还记得我们写Android的第一个Hello World吗,就是通过activity_main.xml显示出来的。...,不显示还是因为draw方法为空,跟上面的Space同出一辙。...而右边如果想要指定一个位置换行,可以了解一下Barrier~ xml代码就不贴了,已上传到Github,点击查看 include 当我们在写一个复杂的页面时,xml代码可能有几百行甚至几千行,阅读起来总是很麻烦...,当子layout嵌入在父layout中时,只需要使用tools:showIn在子layout的根布局指定父layout,就可以实时预览在父layout中的效果了。...TextView /> 如上,当有多个TextView之间需要添加分割线的时候,就只能一个一个复制,复制其实也没什么,就是代码看起来不优雅。

91810

Android基于DataBinding封装RecyclerView实现快速列表开发

3.3.2 创建 item 布局 创建列表的 item 布局文件 layout_item.xml, 简单添加一个 TextView 进行演示,代码如下: <?...里子元素类型一致 3.3.3 创建 RecyclerView 数据和 item 布局都准备好了,下面就是在页面的 activity_recycleview_simple.xml 布局里创建 RecyclerView...,如果为空则调用 super 方法,即默认的 item 布局类型。...具体实现首先获取 RecyclerView 当前的 adapter,如果当前 adapter 为空则创建一个 DefaultBindingAdapter ,然后设置列表数据、item 点击事件、多 item...布局类型的创建器、item 内部事件处理器,最后把 adapter 设置给 RecyclerView;如果 adapter 不为空,且类型为 BaseBindingAdapter则重新设置一遍 adapter

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

    Android开发:ListView、AdapterView、RecyclerView全面解析

    工作原理:当屏幕需要显示x个item时,那么ListView只会创建x+1个视图,当第一个item离开屏幕时,此item的view就会被拿来重用(用于显示下一个item(即第x+1个)的内容)。...工作原理实例 假如屏幕只能显示7个item,那么ListView只会创建(7+1)个item的视图。当第1个item离开屏幕时,此item的view就会被拿来重用(用于显示第8个item的内容)。...android:listSelector 指定被选中的列表项上绘制的Drawable android:scrollingCache 滚动时是否使用缓存 如果设置为true,则在滚动时将会使用缓存 android...在xml文件布局添加资源文件TextView,该TextView组件将作列表项的组件 xml version="1.0" encoding="utf-8"?...工作原理 当屏幕需要显示x个item时,那么ListView只会创建x+1个视图,当第一个item离开屏幕时,此item的view就会被拿来重用(用于显示下一个item(即第x+1个)的内容)。

    3.5K30

    Android的ListView和RecyclerView的基本用法

    在Android5.0版本之后,Android官方推出了一个新的控件:RecyclerView ,完全解耦的设计使得RecyclerView比起ListView灵活了太多,应用的场合也非常广泛。...每一行项目是一个ImageView和TextView控件的组合。 新建一个 Android 工程: activity_main.xml: RecyclerView,笔者这里选择的是新建一个Activity来显示RecyclerView: 因为RecyclerView是在android5.0版本新增在support.v7...> 这个布局文件就是加入了一个RecyclerView控件,注意我们在使用不是SDK中原本就存在的控件时,要写入这个控件的完整路径名(包括我们自定义的控件),接下来新建一个Activity用于显示RecyclerView...* 因为RecyclerView只负责自己本身的创建和回收,所以RecyclerView中的子项创建、子项布局方式、 * 分割线、动画效果等等都需要我们自己完成,正是这种完全解耦的机制成就了

    1.1K50

    Android 垃圾分类APP(七)历史记录

    先写空数据布局,在layout下新建一个layout_empty_data.xml,里面的代码如下: xml version="1.0" encoding="utf-8"?...三、列表适配器 首先写item的布局,在layout下新建item_history_rv.xml,里面的代码如下: xml version="1.0" encoding="utf-8"?...五、保存历史记录 在前面的文章中当进行分类时,会关联出很多物品,而我们要保存和我输入物品的一致性才行,比如当我搜索水杯时,会出现的结果有:水杯、保温杯、汽车杯等一些物品。...而我只需要保存水杯的结果到历史记录就可以了。那么在写保存方法时首先要比对这个搜索结果。一致才保存。 下面来写代码,这里我还是写一个帮助类。...下面来看看全部删除,这里我们就写的简单一些,打开activity_history.xml,在toolbar控件中,增加一个全删,如下所示: TextView android

    1.2K30

    RecyclerView详解

    前言 Hello 艾维巴蒂,今天给大家介绍一下 ListView和 GridView的“大哥“— RecyclerView,这个控件是当下最流行且最常用的一个控件,并且在实战项目中它随处可见,而为什么将它称为..." android:background="@color/white" /> 如果想去掉可滑动控件滑动到边缘的光晕效果,小伙伴们可以这样试试: //在xml...在Adapter中必须实现的三个方法: a、//列表页需要知道有多少个条目publicintgetItemCount() b、//创建一个ViewHolder,我们可以根据viewType的不同而创建不同的...holder, final int position) { final String str = mList.get(position); //判断String传值是否为空...2、网格样式支持 item 占据多列的宽度;瀑布流支持 item 占据总列数的宽度,不支持只占据其中几列。 3、当设置为水平方向样式时,以上结论中行列对调,宽度高度对调。

    3K21

    kotlin-android-extensions插件也被废弃了?扶我起来

    在Activity中使用ViewBinding 一旦启动了ViewBinding功能之后,Android Studio会自动为我们所编写的每一个布局文件都生成一个对应的Binding类。...接下来就更加简单了,调用Binding类的getRoot()函数可以得到activity_main.xml中根元素的实例,调用getTextView()函数可以获得id为textView的元素实例。...接下来不一样的地方在于,由于我们是在onCreateView()函数中加载的布局,那么理应在与其对应的onDestroyView()函数中对binding变量置空,从而保证binding变量的有效生命周期是在...="Done" /> 可以看到,这里最外层的布局使用了merge标签,这就表示当有任何一个地方去include这个布局时,会将merge标签内包含的内容直接填充到include的位置...首先为了避免崩溃,我们应该将activity_main.xml中引入布局时指定的id移除,如下所示: android="http://schemas.android.com

    3.7K31

    Android 音乐APP(二)启动白屏优化、定位当前播放歌曲

    Android 音乐APP 启动优化 前言   Android应用冷启动时,又会短暂的黑屏或者白屏,然后才会进入主页面,黑屏是在Android版本低的时候才会出现,比如Android4.4、5.0。...因为我在布局中放了一个相对布局,里面有两个TextView,第二个盖住了第一个。第二个是黑色背景黑色文字,但是它的宽高和第一个TextView是一样的。...而我要做的效果是文字逐渐出现,从左至右,所以只要将第二个TextView向右位移TextView的宽度即可。移动时间为1s,然后监听这个动画,当动画结束时,进入MainActivity,水道渠成。...首先进入activity_local_music.xml,然后给之前扫描音乐的按钮增加一个id并修改点击按钮所触发的方法。 ? 然后在创建一个location_music.xml。...下面在initView方法中增加对RecyclerView的滚动监听。

    1K10

    Android Jetpack架构组件(八)之DataBinding

    在XML文件的layout标签下,创建data标签,在data标签中再创建variable标签,variable标签主要用到的就是name属性和type属性,类似于Java语言声明变量时,需要为该变量指定类型和名称...布局表达式不仅可以传入对象的属性,也可以调用对象的方法。首先创建一个工具类,在类中定义响应事件的方法,如下所示。...属性,当使用了DataBinding的布局文件被渲染时,属性所对应的static方法就会自动调用。...五、在RecyclerView中使用DataBinding 5.1 基本使用 列表布局在Android应用开发中是非常常见的场景,实现列表布局需要使用RecyclerView控件,DataBinding...在RecyclerView中使用DataBinding就是如此简单,当List中的item数据发生变化时,列表中的内容也会随之更新。

    2.3K20

    《Kotin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发

    ) lateinit var todoContent: TextView 其中,lateinit 修饰符允许声明非空类型,并在对象创建后(构造函数调用后)初始化。...Anko DSL 创建了一个垂直方向的线性布局(用代码写配置写布局要比 XML 灵活方便多了)。...在 verticalLayout 代码段内部,创建了三个Android的控件 - 两个 editText 视图和一个 button 视图。这里视图的属性都在一行里面设置好了。...这些 ids 需要手工在一个加做 ids.xml 的文件里创建,这个文件放在 app/src/main/res/values/ids.xml。如果这个文件不存在就创建它。文件内容如下: <?...: 配置项 功能说明 app:rrvEmptyLayoutId 当列表为空的时候的显示页面 app:rrvIsRefreshable 是否支持下拉刷新,通过setOnRefreshListener 或

    3.6K30

    安卓常用的控件

    TextView TextView 是一个用于显示文本的控件。它可以用来显示短句、段落或者标题。 属性 android:text: 设置显示的文本。...示例 xml 复制代码 TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android...Switch Switch 是一个切换开关控件,用于在开和关之间切换状态。 属性 android:textOn: 设置开状态时的文本。 android:textOff: 设置关状态时的文本。...使用步骤 定义布局: 创建一个包含 RecyclerView 的布局。 创建适配器: 实现 RecyclerView.Adapter,定义数据和视图的绑定逻辑。...创建自定义控件的基本步骤 继承已有控件: 创建一个类,继承自 View 或 ViewGroup。 重写绘制方法: 在 onDraw 方法中定义控件的绘制逻辑。

    19910

    使用视图绑定替代 findViewById

    无须修改原有布局的 XML 文件,视图绑定将根据您现有的布局自动完成所有工作。 视图绑定将会根据现有的 XML 文件,为 Module 内所有的布局文件生成绑定对象。...它会为 Module 下的每一个布局的 XML 文件生成一个对应的绑定对象,并根据源文件为其命名,比如 activity_awesome.xml 对应的绑定对象为 ActivityAwesomeBinding.java...生成代码的逻辑被优化为,当您在 Android Studio 中编辑 XML 布局文件时,只会更新所修改布局对应的绑定对象。同时这些工作会在内存中运行,从而使这个过程可以迅速完成。...既然编译器可以通过 XML 布局文件知道每个属性的类型和为空的可能性,那他就可以安全的调用 findViewById。...在使用引入布局的时候,视图绑定会创建一个被引入布局绑定对象的引用。注意 include>标签有一个 id: android:id="@+id/includes"。

    1.6K30
    领券