recyclerview

第三章UI

若如初见. 提交于 2020-02-24 14:21:22
常用控件 textview match_parent:和父局大小一样 wrap_content:由内容决定大小 文字对齐方式: android : gravity = "center" button 默认字母全部大写 禁用大写: android : textAllCaps = "false" edittext 提示性文本: android : hint = "请输入" 解决内容过大问题: android : maxLines = "2" imageview progressbar 圆形进度条 public void onClick ( View view ) { if ( progressBar . getVisibility ( ) == View . GONE ) { progressBar . setVisibility ( View . VISIBLE ) ; } else { progressBar . setVisibility ( View . GONE ) ; } } 长形进度条 style = "?android:attr/progressBarStyleHorizontal" android : max = "100" AlertDialog 弹出对话框 public void onClick ( View view ) { AlertDialog .

Android - RecyclerView进阶(1)—LayoutInflater

若如初见. 提交于 2020-02-24 13:53:39
我的CSDN: ListerCi 我的简书: 东方未曦 RecyclerView是项目中使用最为频繁的控件之一,相关的知识点非常多,如果对RecyclerView的了解不够深入,那么在进行性能优化、自定义动画等工作时就会觉得力不从心。博主本人也有过多次这样的经历,因此下定决心要对RecyclerView相关的知识进行整理和学习,所以有了这一系列的博客。 本系列将会对RecyclerView的内容和进阶使用进行介绍,包括布局加载、ItemDecoration、item动画、LayoutManager、ViewHoler重用和RecyclerView封装等内容,本文是第一篇,先来介绍一下ViewHolder视图的加载。话不多少,让我们开始吧。 一、加载布局的三个方法 我们一般通过LayoutInflater将布局文件加载到某个界面或者Layout中,加载布局文件时有如下3个方式。 LayoutInflater . from ( mContext ) . inflate ( R . layout . item , null ) ; LayoutInflater . from ( mContext ) . inflate ( R . layout . item , parent , false ) ; LayoutInflater . from ( mContext ) . inflate

尝试用kotlin做一个app(三)

╄→尐↘猪︶ㄣ 提交于 2020-02-24 07:46:11
新闻列表 添加新闻列表可以使用RecyclerView。但是有个问题,RecyclerView只会在内部滚动,不会带动整个屏幕滚动。所以在原根布局外层添加androidx.core.widget.NestedScrollView,并且在原先根局部,添加android:descendantFocusability,解决进入页面跳入页面底部的问题。 ·添加RecyclerView <androidx.recyclerview.widget.RecyclerView android:id="@+id/homepage_news_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/homepage_line5" android:layout_marginTop="10dp"/> ·新建RecyclerView三种item样式,分别表示推荐文章图片,一般文章标题和下划线 fragment_home_news_item_recommand.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android

RecycleView的简单应用

好久不见. 提交于 2020-02-19 07:32:18
recycleView在界面展示上类似于ListView,但不同于ListView的是它展示的每一个item类型可以不一样: RecycleAdapter类: public class RecycleAdapter extends RecyclerView.Adapter<ViewHolder> { private List<Bean> beans; public RecycleAdapter(List<Bean> beans) { super(); this.beans = beans; } //不同类型写不同的ViewHolder public class TextHolder extends RecyclerView.ViewHolder { public TextView textView; public TextHolder(View textView) { super(textView); this.textView = (TextView) textView.findViewById(R.id.mytext); } } public class ButtonHolder extends RecyclerView.ViewHolder { public Button button; public ButtonHolder(View textview) { super

Android Studio 学习笔记(四):Adapter和RecyclerView说明

醉酒当歌 提交于 2020-02-18 21:36:40
在现版本中,滚动控件有多种,而相比于ListView,GridView,RecyclerView的用途更广,因此将前两者作为Adapter适配器的引入,再对RecyclerView进行简单讲解。 MVC & Adapter 为了方便理解,这里介绍一下Android应用设计的基础,也就是MVC架构,如图。 控制器(Controller)- 可看作一个中间桥梁,响应来自View的用户交互,通过对View设定的事件逻辑修改Model,再回传实现View的数据刷新。 视图(View) - 用户看到的图形界面,由界面设计人员负责。 模型(Model) - 保存数据状态,其中由程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。 MVC架构:Model(数据)以Controller(控制器)设定的方式呈现在View(用户界面)中。 简而言之:Adapter在其中充当Controller(控制器)的角色,在其中设定每一个元素长什么样子,怎么排列各个元素的逻辑,再把包含代码逻辑的复杂数据按设定好的样式给View。其中自带的BaseAdapter用得最多。 常见用法是新建一个类继承自BaseAdapter,重写其中的方法并构造新的方法,结合ListView、GridView控件使用。 ListView和GridView的用法相似,只是功能不同

墙裂推荐!2020Android阿里&腾讯&百度&字节&美团&网易&爱奇艺校招面试汇总

我的未来我决定 提交于 2020-02-15 23:49:21
作者: Hengtao24 链接: https://www.jianshu.com/p/7a8a10f541c8 1 基本情况 2020届硕士生,Android开发岗 此文主要是2019年年初春招实习的面试和正式校招面试经验汇总,最终校招拿到了腾讯,百度,美团,网易等offer 主要包括阿里4面,腾讯实习4面和校招4面,字节3面,百度3面,美团3面,网易3面,爱奇艺3面 2 阿里 阿里面试很喜欢问源码,优化,原理,涉及到的范围很广,还是具有一定挑战性的,以下包括阿里实习二面和校招二面,笔者都止步于二面,阿里可以去找找内推(笔者实习投递时笔试做的差,本来以为挂了,但可能因为找的内推所以还是给我面试了,后续又加了一轮笔试,校招时也是找的内推直接面试了没有笔试)。 阿里实习一面 源码: Handler消息机制(具体涉及到的类 & 细节);HashMap(数据结构 & put操作具体过程,扩容时间复杂度);ArrayMap原理 JVM: Java内存区域划分,堆栈的区别,哪些区域线程私有,哪些共享;栈帧,Java方法调用时的入栈出栈操作 并发访问: volatile原理及作用,是否具有原子性;synchronized:修饰代码块/方法/对象的区别?(单例模式DCL会不会失效?);Lock的原理 Android: Activity生命周期(具体执行过程,涉及到哪些类?);ANR(什么是ANR

ItemTouchHelper 实现交互动画

ε祈祈猫儿з 提交于 2020-02-14 14:44:08
目录介绍 01.拖拽需要实现功能 02.几个重要的方法说明 03.简单实现思路 04.拖拽效果上优化 05.完整代码展示 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计N篇[近100万字,陆续搬到网上],转载请注明出处,谢谢! 链接地址: https://github.com/yangchong211/YCBlogs 如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微,量变引起质变! 01.拖拽需要实现功能 需要实现拖拽的功能如下所示 长按item后拖动,与其他item交换位置 按住item右面的图标后拖动,与其他item交换位置 左滑item变透明并缩小,超出屏幕后,其他item补上 右滑item变透明并缩小,超出屏幕后,其他item补上 02.几个重要的方法说明 几个重要的方法说明 需要自定义类实现ItemTouchHelper.Callback类,并重写其中几个方法 03.简单实现思路 几个方法中代码思路 要想达到上面功能需求,在getMovementFlags方法中

RecycleView和Adapter的基本使用

我的未来我决定 提交于 2020-02-12 13:29:56
1.创建布局文件,word_fragment用来放Recycle,word_fragment_grad_cell用来放小单元 word_fragment布局: word_fragment_grad_cell布局:(卡片布局) 2.创建适配器wordFragmentAdapter类 package com . example . ngsl . wordFragment import android . content . Intent import android . net . Uri import android . view . LayoutInflater import android . view . View import android . view . ViewGroup import androidx . recyclerview . widget . DiffUtil import androidx . recyclerview . widget . ListAdapter import androidx . recyclerview . widget . RecyclerView import com . example . ngsl . R import com . example . ngsl . room . Word import kotlinx .

DataBinding

半腔热情 提交于 2020-02-12 07:55:31
一、DataBinding 1.1 在Module的build.gradle android模块中添加如下配置 代码地址 https://github.com/MichealPan9999/DataBinding-MVVM android { dataBinding { enabled = true } }   Android Studio中是依靠gradle来管理项目的,在创建一个项目时,从开始创建一直到创建完毕,整个过程是需要执行很多个gradle task的,这些task有很多是系统预先帮我们定义好的,比如build task,clean task等,DataBinding相关的task也是系统预先帮我们定义好的,但是默认情况下,DataBinding相关的task在task列表中是没有的,因为我们没有开启dataBinding,但是一旦我们通过 dataBinding{enabled = true}的方式开启DataBinding之后,DataBinding相关的task就会出现在task列表中,每当我们执行编译之类的操作时,就会执行这些dataBinding Task, 这些task的作用就是检查并生成相关dataBinding代码,比如dataBindingExportBuildInfoDebug这个task就是用来导出debug模式下的build信息的。 1.2

Android常用开源库(转)

你说的曾经没有我的故事 提交于 2020-02-10 15:32:45
一 、基本控件 TextView HTextView 一款支持TextView文字动画效果的Android组件库。 ScrollNumber 滚动数字控件 ticker 滚动数字控件 ReadMoreTextView 阅读更多,折叠文本 ExpandableTextView 折叠文本 android-autofittextview 自动调整文字大小 html-textview 展示html标签 BabushkaText 自定义文本样式 Android-TextView-LinkBuilder 文本链接 TextJustify-Android 自动调整文字间隔 SlantedTextView 一个倾斜的TextView,适用于标签效果。 RichText Android平台下的富文本解析器 MixtureTextView Android图文混排、文字环绕图片 VerticalTextView 垂直的Textview JumpingBeans 文字像 Mexican beans 一样跳动 EditText MaterialEditText 智能提醒输入框 android-edittext-validator 输入效验、提醒 ClearEditText 带删除的输入框 PasswordEditText 显示/隐藏密码 MaterialSearchView 一个基于Material