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

Android开发-Listview中显示不同的视图布局

使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。...convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView的回收和重用会出现问题。...比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排的行为第二类布局。单一类型的ListView很简单,下面着重介绍一下ListView包含多种类型视图布局的情形。...2.ListView包含不同Item的布局 我们需要做这些工作:   1)重写 getViewTypeCount() – 该方法返回多少个不同的布局   2)重写 getItemViewType...; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView

2.3K30

Android ListView组件的使用

一、不使用xml布局文件创建一个ListView 创建一个名称为HelloListView的Android工程,可以参见 Android 第一个Android应用,HelloWorld 要使用ListView...二:使用xml来自定义ListView 上个例子我们并没有使用在main.xml中定义一个ListView的形势来布局ListView,而是使用的ListActivity中默认的ListView来演示的...下面就使用我们在main.xml中自定义的ListView,这样我们可以很方便的控制ListView展示的布局,大小,背景色等属性。...当然上个例子中我们一样可以通过getListView获取ListView后使用它的方法来改变布局、大小和背景色等。 修改main.xml为: 的就是getCount和getView方法,前一个是返回ListView中有多少个元素,后一个是生成要展示的View。

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

    android之ListView的Adapter使用

    _1,model);//这行代码在下面解释 list.setAdapter(adapter);//为ListView设置我们配置好的适配器 } private View.OnClickListener...new ArrayAdapter(this, android.R.layout.simple_list_item_1, model); 这段代码是创建一个数组适配器的代码,里面有三个参数...,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个.... listView会根据这三个参数,遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView....里面显示出来一个 执行之后效果图如下: 如果还是不很明白,下面这个网上的代码段更加清晰: package com.cz.list.demo; import android.app.Activity

    73010

    Android ListView功能扩展,实现高性能的瀑布流布局

    那么,如果我们使用ListView工作原理来实现瀑布流布局,效率问题、OOM问题就都不复存在了,可以说是真正意义上实现了一个高性能的瀑布流布局。原理示意图如下所示: ?...另外需要注意的是,为了简单起见,我没有抽取最新版本的ListView代码,而是选择了Android 2.3版本ListView的源码,因为老版本的源码更为简洁,方便于我们理解核心的工作流程。...()方法又是由trackMotionScroll()方法根据子元素的位置来进行调用的,这个方法只要手指在屏幕上滑动时就会不停进行计算,当有屏幕外的元素需要进入屏幕时,就会调用fillGap()方法来进行填充...值得一题的是,这个功能扩展对于调用方而言是完全不透明的,也就是说在使用瀑布流ListView的时候其实仍然在使用标准的ListView用法,但是自动就变成了这种瀑布流的显示模式,而不用做任何特殊的代码适配...如果确实需要在项目实现瀑布流布局的效果,可以使用开源项目 PinterestLikeAdapterView 的代码,或者使用Android新推出的RecyclerView控件,RecyclerView中的

    2.1K60

    2014-10-25Android学习------布局处理(四)------ListView的item点击之后的布局

    我学习Android都是结合源代码去学习,这样比较直观,非常清楚的看清效果,觉得很好,今天的学习源码是网上找的个HealthFood 源码 百度搜就知道很多下载的地方 本节学习接上篇布局学习(二)...http://schemas.android.com/apk/res/android"//命名空间,可以不写 android:layout_width="fill_parent"//相对布局的宽度是填充父窗体...:text="@string/middle"文字 android:textColor="@color/white" /> 4.用于显示不能搭配的食物列表 这里又再一次使用ListView...控件,整个布局文件中有且仅有一个ListView构件,它的id是系统自定义的, ListView android:id="@id/android:list"...="@color/white" android:focusable="false" >//每一行的item是不能被点击的 ListView> 总结:对布局文件再一次熟悉

    51820

    由设计稿智能生成代码的神器

    一个由设计稿智能生成代码的神器 imgcook,一个由设计稿智能生成代码的神器 imgcook 是专注以各种图像(Sketch/PSD/静态图片)为原材料烹饪的匠心大厨,通过智能化手段将各种视觉稿一键生成可维护的前端代码...全链路采用计算机视觉、深度学习等智能化手段依次去除对设计稿的约束,智能生成代码。一键智能还原与丰富的操作面板,实时保证代码和视觉的高度还原。促进团队的高效协作。 ?...imgcook 具有高可维护性,DOM 嵌套合理、相对定位布局、文本自适应,ClassName 语义化、循环可自动识别。 ?...imgcook 使用简单,直接上传设计稿(最好找上传sketch或psd源文件) ? 即可快速生成代码。点击后可以选择DSL,最后导出到本地即可。 ? 最后打开浏览器查看界面调试即可。 ?...imgcook 可以学习代码的结构,通过手动调整代码有利于进一步提高代码规范以及开发页面结构和调整页面样式的能力。还可以和小伙伴一起协作开发。快快邀请小伙伴一起使用叭。

    98620

    使用SimpleAdapter

    >对象生成一个列表项。 resource:界面布局文件的ID,对应的布局文件作为列表项的组件。 from:是一个String[]类型的参数,该参数决定提取Map对象中哪些key对应的value来生成列表项。 to:该参数是一个int[]类型的参数,该参数决定填充哪些组件。...继续使用WidgetSample工程的listviewsample模块,在app/main/res/layout/目录下创建simpleadapter_layout.xml文件,在其中填充如下代码片段:...创建SimpleAdapterActivity.java文件,加载上面新建的布局文件,具体代码如下: package com.jinyu.cqkxzsxy.android.listviewsample;...getData()方法生成一个长度为6的集合,意味着生成的ListView将会包含6个列表项,每个列表项都是R.layout.list_item对应的组件。

    660100

    【约束布局】ConstraintLayout 屏幕适配案例 ( 使用代码生成约束布局控件属性 )

    文章目录 一、ConstraintLayout 屏幕适配案例 二、使用代码生成约束布局 一、ConstraintLayout 屏幕适配案例 ---- ConstraintLayout 屏幕适配案例 :...: 二、使用代码生成约束布局 ---- public class BoundaryCaculate { public static void main(String[] args) {..., 就是 750, 1334 // 计算流程 : // ① bias 宽度计算 : 计算出总的 bias 总长度 = width_inner - 控件长度 , 左侧值 / 总长度 = 水平方向的...// bias 值 // ② bias 高度计算 : 计算出总的 bias 总高度 = height_inner - 控件高度 , 顶部值 / 总高度 = // 垂直方向的 bias 值...:scaleType=\"fitXY\"\n" + "android:src=\"@mipmap/actual_\"\n"); } } } 输出结果 : 可以直接作为约束布局中组件的属性。

    44020

    Android-UI布局---RecyclerView学习(二)利用它做的相册集效果

    这个代码在网上有, 横向ListView的功能,参考Android 自定义RecyclerView 实现真正的Gallery效果 首先说布局文件: RecyclerView视图中的item的布局: 这个布局下面是高度120dp 宽度填充父窗体,然后整个手机屏幕多余的空间都给了上面的imageview 视图 接下来是就是视图的自定义...需要学习的第二个知识点就是:在对应的activity中关于RecyclerView 的使用 RecyclerView的使用代码: //找到对应的视图控件 mRecyclerView = (MyRecyclerView... 下面是基本使用方法: 基本使用 鉴于我们对于ListView的使用特别的熟悉,对比下RecyclerView的使用代码:后面两点就看你的具体需求了  mRecyclerView = findView...的代码,ListView可能只需要去设置一个adapter就能正常使用了。

    1.4K30

    Android UI学习之ListView(使用BaseAdapter)

    ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所以列表项。 今天我们学习如何将系统的短信显示到listView上。...关于如何获取系统的短信请看: Android 四大组件学习之ContentProvider三 先看一下我们的布局文件: android="http://schemas.android.com...可以看到ListView的预览界面就是一个列表的形式,每行都是一个item项,那每行的显示样式都是一样的,所以每行也需要一个布局文件 看一下每行的布局文件: 的对象 //获得消息的对象 Message message = list.get(position); //创建一个布局填充器对象 LayoutInflater...,直接从缓冲区取就行,那样很浪费资源 将上述代码修改为: //创建一个布局填充器对象 LayoutInflater inflater = LayoutInflater.from(MainActivity.this

    44900

    Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

    标题图 UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的。View是绘制在屏幕上能与用户进行交互的一个对象。...用户界面布局 在你APP软件上的,用户界面上显示的每一个组件都是使用层次结构View和ViewGroup对象来构成的,比如,每个ViewGroup都是不可见容器,每个ViewGroup视图组用于组织子视图...如果你有了层次结构树,你可以根据自己的需要,设计出一些布局,但要尽量简单,因为越简单的层次结构最适合性能。 要声明布局,可以在代码中实例化对象并构建,最简单的方法也可以使用xml文件。 布局进行填充。 gridview.png ListView列表组件 ListView是一个用于显示列表的可以滚动的视图组,列表项也可以用适配器进行添加内容的。...listview.png 结语 本文主要讲解 Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件 下面我将继续对

    1.9K20

    安卓基础干货(三):安卓数据库的学习

    listview显示数据列表的步骤: 1、在布局文件中添加一个listview控件 2、在代码中找到这个listview控件 3、创建一个数据适配器为listview填充数据 ArrayAdapter...使用ArrayAdapter为listview填充数据的步骤: 1、在布局文件中添加ListView 2、在代码中初始化这个listview控件 3、调用listview.setAdapter()填充数据...//使用适配器为listview填充数据 //new ArrayAdapter:context 上下文,resourceId 条目布局文件的资源ID,object[] 要显示的数据 lv.setAdapter...ArrayAdapter为listview填充数据的步骤: 1、在布局文件中添加ListView 2、在代码中初始化这个listview控件 3、调用listview.setAdapter()填充数据...//使用适配器为listview填充数据 //new SimpleAdapter:context 上下文,resourceId 条目布局文件的资源ID,String[] 要显示的列名,int[] 指定列显示在

    2.8K20

    ListView详细介绍与使用

    类的关系图: 表现形式 这就是一种最简单的 ListView 的表现形式,黑色框就是 ListView 控件,其中由一个个的 item 组成(红色框内容),然后可以通过向下滑动来查看很多的条目。...工作原理 ListView 仅是作为容器(列表),用于装载显示数据(就是上面的一个个的红色框的内容,也称为 item)。item 中的具体数据是由适配器(adapter)来提供的。...演示图来自网络: 具体使用 引入 ListView 和普通的 View 一样,直接在布局中添加 ListView 控件即可。...,Android 将根据该数组资源来生成 ListView android:footerDividerEnabled 如果设置成 false 则不在 footerView 之前绘制分隔条 android...ListView 上 具体实现步骤 布局中添加 ListView(就不再写代码了,和上面一样 实现 item 布局(依然使用 SimpleAdapter 中的 item 布局就可以了) 创建数据源 class

    1.5K20

    2014-10-25Android学习------布局处理(三)------常见且常用的列表布局

    我学习Android都是结合源代码去学习,这样比较直观,非常清楚的看清效果,觉得很好,今天的学习源码是网上找的个HealthFood 源码 百度搜就知道很多下载的地方 本节学习接上篇布局学习(二) 地址.../RelativeLayout> 这里我们需要掌握的关于布局知识点有这些: 1.掌握ListView布局的相关技巧 在list.xml代码中有这样一个代码: ListView android...ListView的Id为固定不变的,为"@id/android:list“,ListActivity会根据id自动查找ListView引用;在 Activity 中使用 setListAdapter(adapter...(adapter); 显然我们需要知道,使用ListView控件的时候,activity对应的布局文件中必须只有一个ListView控件,它的id值时使用系统值 @id/android:list 这个...2)猪肉和黄连这两行文本显示控件的大小-------它的宽度应该是填充父窗体的,(这个时候的填充父窗体是指在当前的水平方向的线性布局中剩下的空间),,它的宽度也可以是包裹内容的,因为我们清楚这里的汉字显示的个数很少

    1.1K30
    领券