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

ListView项(Item)的三种布局

转载自:ListView项(Item)的三种布局使用例子 ---- List中的item布局有三种: 自定义的布局,使用了相对布局(RelativeLayout,见list_item.xml),左侧一个图片...,右侧上方是字体比较大的title,下方是字体稍小的description; 第二种是Android自带的布局(见源码里的simple_list_item_2.xml),主要是一个垂直的LinearLayout...属性; 第三种也是Android自带的布局(见源码里的two_line_list_item.xml),主要是一个垂直的LinearLayout,里面包含两个ID分别为text1、text2的TextView...,这两个TextView的字体大小一样,但每个TextView还带一个字体加粗的属性。...值从data参数里的map取出的value值需要设置到TextView中,而这些TextView的id需要在这个数组中配置。

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

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

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

    2.3K30

    利用Flutter中的ListView进行动态卡片布局

    本文主要介绍 listView下进行动态卡片布局 真香!本来觉得用以前的java就能做的为啥还用flutter,但是最近接触flutter之后感觉这才是写移动应用的神器啊!...尤其是用java写的listView,各种适配器传参简直了 效果 可以显示gif动图哦,真强大,某些模拟器中可能有闪烁现象,但是我的手机上没有,可能是兼容问题 ) 原理 在完成这个效果之前, 分两步走...,listview列表和card布局 listView 没有适配器,没有viewHolder,没有entity,flutter将他变成了一个纯前端的项目,简单到任何的注释都是那么的苍白 return...) 将listData通过map形式传入成为value,然后取相应的key值传入对应的参数,listView会自动循环遍历value中的内容 import 'package:flutter/material.dart...只接受列表 ); } } ​ ​ 综上,只需两个文件,几十行代码即可完成布局,开心O(∩_∩)O~~

    2.1K20

    Android开发之自定义的ListView(UITableViewController)

    两者虽然名称不一样,但是其使用方法,使用场景以及该控件的功能都极为相似,都是用来展示大量数据并带有分页的控件。...的布局),第三个参数是数据源即在ListView上显示的数据集合。...接着又是三个子LinearLayout布局,该布局是水平方向,也就是其中的控件是水平方向排列的,里边的控件都是均分的。...如果对此有布局有疑问请看之前发布的博客《Android开发之基本控件和详解四种布局方式》其中对Android开发中常用的布局进行了介绍。 ? 2.上述布局的实现 布局分析完了,接下来就是该如何实现了。...在自定义的ProductAdatper中我们还重写了getView方法,该方法返回的就是带有数据的Cell。

    1.4K80

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

    地址:http://blog.csdn.net/u014737138/article/details/40480291 当我们把ListView布局好之后,我们就可以看到很多行,但是对行的点击操作,应该设置它跳转到另外一个...那么我先看看效果图: 这一节我们需要学习的关于布局的知识点有以下这些: 1.子线性布局里面的返回按钮: <LinearLayout xmlns:android="...android:width="10px" />文字大小 3.中间放置一个TextView TextView...这里又再一次使用ListView控件,整个布局文件中有且仅有一个ListView构件,它的id是系统自定义的, ListView android:id="@id/android...是不能被点击的 ListView> 总结:对布局文件再一次熟悉,做中学

    51820

    Android开发的那些坑和小技巧

    如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果。先看一个效果图。 ? 上图中的ListView顶部默认有一个间距,向上滑动后,间距消失,如下图所示。 ?...GridView和ListView都有可能出现,说不定这个祸首就是wrap_content。说到底是View的布局出现了问题。...在android里面,点击屏幕之后,点击事件会根据你的布局来进行分配的,当你的listView里面增加了button之后,点击事件第一优先分配给你listView里面的button。...ListView inside ScrollView is not scrolling on Android (http://stackoverflow.com/questions/6210895/listview-inside-scrollview-is-not-scrolling-on-android...一开始我发现一个acitivity中的scrollView滑动一顿一顿的,而实际上没有嵌套任何的列表控件如ListView、GridView,包含的无非是一些TextView、ImagView等。

    1.1K30

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

    那么,如果我们使用ListView工作原理来实现瀑布流布局,效率问题、OOM问题就都不复存在了,可以说是真正意义上实现了一个高性能的瀑布流布局。原理示意图如下所示: ?...但是这个工作并不是那么简单的,因为仅仅ListView这一个单独的类是不能够独立工作的,我们如果要抽取代码的话还需要将AbsListView、AdapterView等也一起抽取出来,然后还会报各种错误都需要一一解决...这里我们最主要的就是修改对于子View进入屏幕判断的时机,因为原生的ListView只有一列内容,而瀑布流布局将会有多列内容,所以这个时机的判断算法也就需要进行改动。...,我们就可以来思考一下怎么将这个逻辑改成适配瀑布流布局的方式。...另外,在设置完子View布局之后,我们还进行了几个额外的操作。

    2.1K60

    Android布局优化之ViewStub、include、merge使用与源码分析

    大家好,又见面了,我是你们的朋友全栈君。 在开发中UI布局是我们都会遇到的问题,随着UI越来越多,布局的重复性、复杂度也会随之增长。...titleTextView.setText("new Title"); 或者更简单的直接查找它的子控件: TextView titleTextView = (TextView)findViewById...例如我们通过一个ViewStub来惰性加载一个消息流的评论列表,因为一个帖子可能并没有评论,此时我可以不加载这个评论的ListView,只有当有评论时我才把它加载出来,这样就去除了加载ListView带来的资源消耗以及延时...// 2、如果ViewStub的inflatedId不是NO_ID则把inflatedId设置为目标布局根元素的id,即评论ListView的id...inflate()函数,在该函数中将加载目标布局,获取到根元素后,如果mInflatedId不为NO_ID则把mInflatedId设置为根元素的id,这也是为什么我们在获取评论ListView时会使用

    1.2K20

    android 面试之listview

    ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。...你可以检查一下:a) item布局的层级是否太深b) getView()方法中是否有大量对象存在c) ListView的布局属性3.加载图片如果你的ListView中需要显示从网络上下载的图片的话,我们不要在...ListView滑动的时候加载图片,那样会使ListView变得卡顿,所以我们需要再监听器里面监听ListView的状态,如果滑动的时候,停止加载图片,如果没有滑动,则开始加载图片 listView.setOnScrollListener...item布局深度,因为当滑动ListView的时候,这回直接导致测量与绘制,因此会浪费大量的时间,所以我们应该将一些不必要的布局嵌套关系去掉。...减少item布局深度,这个我曾经做过一个实验,当布局嵌套超过5层的时候,Android的Decodview就会出现错误,所以请不要嵌套的太深。

    75770

    ListView不能响应itemclick事件的解决方法

    大家都知道listview可以根据自己的需求,重写baseadapter ,实现自己的布局及数据,但是当我们在自己的布局中加入了button或者ImageButton,还有其他比如checkbox,radiobutton...等控件时,发现listview不在响应onitemclick事件,让人很悲愤啊,自己在网找了个方法,可以处理掉这个东东     发生的原因:当listview中包含button,checkbox等控件的时候...,android会默认将focus给了这些控件,也就是说listview的item根本就获取不到focus,所以导致onitemclick时间不能触发。    ...既然我们知道了,发生的原因,那么我们就将button等控件的在xml布局文件中的属性android:focusable设置为false,就ok了,但通常不这样做,因为要一个一个地修改button太麻烦,...,自己找一下,对自己有好处,不喜欢研究错误的程序猿不是好程序猿!!!!!!

    69850

    Andriod基础——Adapter类

    ,将数组中的字符串绑定到ListView中用于显示每个项目的简单TextView控件上。...视图对象和数组数据的适配器来两者的适配工作,ArrayAdapter的构造需要三个参数,依次为this,布局文件(注意这里的布局文件描述的是列表的每一行的布局,android.R.layout.simple_list_item...HashMap的每个键值数据映射到布局文件中对应id的组件上。因为系统没有对应的布局文件可用,我们可以自己定义一个布局vlist.xml。...但是事实并非这样,因为按钮是无法映射的,即使你成功的用布局文件显示出了按钮也无法添加按钮的响应,这时就要研究一下ListView是如何现实的了,而且必须要重写一个类继承BaseAdapter。...在实际的运行过程中会发现listView的每一行没有焦点了,这是因为Button抢夺了listView的焦点,只要布局文件中将Button设置为没有焦点就OK了。 效果如下: ? ?

    1.7K50

    Android的ListView和RecyclerView的基本用法

    ="match_parent"> ListView> 在主布局文件中,我们添加了一个ListView控件,用于接下来的数据显示,之后我们要新建一个布局文件用于显示...ListView是需要适配器才能显示我们定义的布局文件的,那么我们接下来要为ListView设定一个适配器。...否则就是只在父布局中声明,不添加进入父布局 * 这里我们当然不能加入父布局,因为我们的 View 是要加入 ListView 中作为子控件的 */...在这里这个View包含了一个ImageView和一个TextView * (布局文件color_item布局文件中的控件) * 第三个和第四个参数一般是一样的...我们在实际使用的时候可以根据我们自己的需求来设置ListView控件的item布局文件和ListView的点击事件处理。

    1.1K50

    Android 购物车功能的实现

    首先,众所周知,ListView是Android最常用的控件,可以说是最简单的控件,也可以说是最复杂的控件。 作为一个Android初级开发者,可能会简单的ListView展示图文信息。...作为一个有一定项目开发经验的Android开发者来说,可能会遇到ListView的列表项中存在各种按钮的需求。 需求最多的就是购物车功能。..._浅谈ListView(自定义适配器) 2、接口回调,不会接口回调的可以看下博客:Android接口回调机制 一个ListView数据展示的实现,必须要有的 自定义适配器,数据源,ListView,列表项布局...(2)、效果二,一个列表项发生变化,滑出界面,在滑回来,该列表项的数据依然存在,列表项的复用不存在问题 ? 一、创建布局文件 1、主布局 1 <?...,会导致列表项无法点击,只能点击按钮,这种情况怎么解决 解决方法,在item列表项布局的最外层父容器中 设置一个属性: android:descendantFocusability

    2.8K50

    Android应用界面开发——ListView,GridView,ScrollView

    简单的说显示一个ListView的前提有:ListView布局、ListView中的item布局和Adapter,最后通过setAdapter将视图和数据绑定。...ListView实现关于微信界面Demo 在思考布局之前,这里先介绍一个很有用的功能,每个Android手机都有,那就是显示布局边界,这个功能可以通过设置->开发者模式->显示布局边界找到,打开这个功能可以看到手机里所有应用的布局了...,里边放一个包含ImageView和TextView的LinearLayout,居中显示;第三部分是一个ListView,每个item中放一个TextView并居中显示;第四部分是一个背景为灰色的LinearLayout...这里可以看到大概的布局,接下来写每个item中的布局。 item布局文件:item_about_list.xml textView; } } 这里显示给出5个字符串,用于填充ListView的数据,实现Adapter的四个方法,最主要的两个方法是getCount和getView,前者用于表示显示多少数据,

    1.5K30

    android学习笔记----ListView和各种适配器简介

    ,MyAdapter里面的getView报的错误:  java.lang.UnsupportedOperationException:  addView(View, LayoutParams) is...TextView setText() 方法来更改名字,这样我们可以向 ListView 返回全新的列表项以便添加到新的层级并显示到屏幕上。...第三个参数textViewResourceId:要填充的布局资源中TextView的id*/ ArrayAdapter adapter = new ArrayAdapter...布局文件至少应包括“to”中定义的命名视图 from:将添加到与每个项关联的Map中的列名列表。 to:应该在“from”参数中显示列的视图。这些都应该是TextView。...意思就是从一个list集合中(装的map集合)获取数据,from要输入键和值,to就是给出到底哪个textview显示键,哪个textview显示值,给出textview的id就可以了。

    2.2K10

    Android适配器作用

    ListAdapter列表项的显示配置: 一、 通过简单XML文件配置 默认的ListAdapter希望提供的ListView每一项的 xml布局配置文件中只有一个TextView。...一个包含了TextView的布局xml文件的id,注意(这个布局文件里只能有TextView一个控件,TextView不能有父控件,否则会报错 java.lang.IllegalStateException...ListView中Item项的复杂布局xml文件   textViewResourceId:The id of the TextView within the layout resource to be...populated(显示) ListView中Item项的复杂布局xml文件中用来显示ArrayAdapter中数据的那个TextView public ArrayAdapter (Context...自定义数组xml文件的标识id号,也就是ArrayAdapter要绑定到ListVIew中的数据 textViewResourceId:用于显示数组数据的布局文件的id标识号(注意:该布局文件中只能有一个

    1K10

    从0系统学Android--3.5 最常用和最难用的控件---ListView

    这里使用最简单的 ArrayAdapter ,android.R.layout.simple_list_itme_1 是 Android 内置的布局文件,里面只有一个简单的 TextView。...下面为 ListView 的子项创建一个自定义的布局fruit_item.xml 的布局,LayoutInflater 的 inflate 方法需要传入三个参数,第一个参数就是要加载的布局,第二个参数就是这个布局要加入到这父布局中...,第三个参数指定成 false 表示只让我们在父布局中声明的 layout 属性生效,其实就是为了测量一下这个生成的布局,但是不会将这个 View 添加到父布局中,因为一旦 View 有了父布局后,就不能再添加到...因为在 getView() 方法中每次都将布局重新加载了一遍,当 ListView 快速滚动的时候,性能就会出现问题。

    60710
    领券