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

A021-列表容器之GridView

概述 GridView是Android的另一个列表容器,用法也跟ListView类似,它的布局是一个网格,一行可以有多个项,并且整个视图可以滚动,我们常见的应用有手机中的图库、launcher里面的应用列表...、类似微信多张图片等,总的来说,ListView主要应用于单列多行的列表,然而GridView主要应用于多行多列的网状布局。...上面的运行结果就是GridView的典型效果,每个item是一张固定大小的图片,这里让它自适应屏幕来填充完整个屏幕的宽度。...mThumbIds 3、定义ImageAdapter 上面代码中我们用到了ImageLoader这个图片加载框架,使用它来加载本地drawable资源,实际开发中一般不会这样用,我们传进去的uri是一个图片网络地址...,具体的使用方法可以百度学习,这里简单介绍步骤: 1、 初始化ImageLoader配置 2、获取ImageLoader实例,调用其displayImage方法异步加载图片 最后 GridView的用法与

76930

Android短视频系统开发技巧:给Button的点击上色

如图所示: 但是,如果想为短视频系统开发Button添加自定义的图片背景,如: android:background="@drawable/upload" 那么,当你点击Button的时候会发现,...下面,我将介绍两种在Button被点击时改变背景的方式,一种是采用多张背景图片切换的方式,另一种是采用shape来定义Button状态切换的背景显示。...多张背景图片切换 首先,为短视频系统开发Button准备两张背景图片,一张是Button未点击时显示的图片,另一张是Button被点击时显示的图片,如图所示: 然后,在工程的res/drawable目录下创建一个...这种方法是比较直观简单的方法,在实际的工程中也大量使用,但也有一个缺陷,必须为所有的Button准备多张背景图片,为每一个状态准备一张,加大了短视频系统开发UI设计的工作量,也加大了程序的大小。...,主要通过selector来实现,而具体的呈现形式可以通过多个图片背景切换,或者通过Shape标签来定义。

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

    Android网格视图(GridView)

    GridView的一些属性: 1.android:numColumns=”auto_fit”   //GridView的列数设置为自动,也可以设置成2、3、4…… 2.android:columnWidth...10.android:fastScrollEnabled="true"      //GridView出现快速滚动的按钮(至少滚动4页才会显示) 11.android:fadingEdge="none...VM won't let us allocate 81000 bytes Google后得到信息是  Android的Dalvik VM为一个应用提供了大约16MB的内存,一般我们处理超过8MB的图片将会出现...在网上找了一下,参考网友的方法,通常的原因就是我们加载的图片太大,我看了一下我的图片,用500W像素的Defy拍的,原始大小一般都在800KB左右,这样大的图片才导致了内存泄露,网上大神们给的通常的解决方法是...我此处用到的图片都是80KB以上的,存在drawable文件夹中,直接用R.drawable.来调用,没用到Bitmap ,因此只能缩小图片大小。

    1.6K80

    视图切换组件ViewSwitcher

    ViewAnimator额外增加的功能正如它的名字所暗示的一样,ViewAnimator可以在View切换时表现出动画效果。 ViewAnimator及其子类的继承关系图如下图所示。...使用Activity类的screenNo保存当前正在显示第几屏的程序列表,BaseAdapter会根据screenNo 动态计算该Adapter总共包含多少个列表项(如getCount()方法所示),会根据...screenNo计算每个列表项的数据(如getltem(int position)方法所示)。...为了实现ViewSwitcher切换View时的动画效果,程序的事件处理方法中调用了 ViewSwitcher的setInAnimation()、setOutAnimation()方法来设置动画效果。...至此,关于ViewSwitcher视图切换组件学习完毕,如果还有不清楚的地方建议回头再多做练习。

    2K70

    Android九宫格控件-可在ListView和RecyclerView中使用

    需求场景 熟悉Android App开发的同学,肯定都清楚,如果要显示多张图片,类似九宫格,可以用GridView或者GridLayout来做,但是如果需求要求在ListView或者recyclerView...的每个item中都显示这样一个九宫格,那么GridView就不适用了,GridLayout可以实现,但是不是那么优雅,我们需要在item每次重绘时,加入添加或者删除逻辑。...既然框架没有提供满足需求的控件,我们只能自己实现。 思路 我们需要显示多张图片,那么肯定选择ViewGroup无疑,其实也就是一个简单的自定义ViewGroup——SquareGridView。...自定义属性 1.我们需要图片之间的水平间距horizontalSpacing和垂直间距verticalSpacing。 2.我们需要图片的长宽比ratio,默认我们1。...3.我们需要一行显示的列数numColumns。 4.我们需要图片显示的最大总数maxSize,默认为9。 SquareGridView实现 自定义属性初始化 比较简单,纯为了充字数!

    1.7K20

    Android-ImageSwitcher相册

    3.中重要的是:ImageSwitcher增加了图片切换动画,使得图片的切换更加自然 这里看下运行效果: 这个例子中,看考了疯狂Android讲义,采用ImageSwicher结合Gridview实现的...,一下问布局文件: 关于GridView 有两种常用的监听事件: gridView.setOnItemSelectedListener 和 gridView.setOnItemClickListener...listitem.put("image",imageId[i]); listitems.add(listitem); } //获取显示图片的...gridView = (GridView) findViewById(R.id.grid01); //为gridView设置adapter gridView.setAdapter...关于闪退现象:我才用的是经过压缩过的图片,如果是加载高清大图很可能出现OOM现象,这是我们需要对图片进行压缩,具体可以参照:https://blog.csdn.net/qq_43377749/article

    1.1K20

    超过百万的StackOverflow Flutter 问题-第二期

    启动手机或者模拟器(Android系统大于16),开启USB 调试模式,不同手机开启方法略有不同,以华为手机为例:进入设置->系统->关于手机,快速连续点击版本号5次,提示打开开发者模式,返回设置,此时会出现开发人员选项菜单...打开Android Studio,查看连接的手机: 如果依然无法连接手机,打开Android Studio设置界面: 选择最近的API。...,因为程序要启动引擎,所以App第一次启动比较慢,在原生端会显示一段时间的白色启动页,我们把这个白色启动页做为应用程序的启动页,替换为自己的图片,此方案的启动页只能是一张图片,无法交互,如果需要启动页有交互效果建议使用...Android端替换启动页图片,打开android/app/src/main/res/drawable/launch_background.xml文件,效果如下: <?...InputDecoration( border: InputBorder.none, hintText: 'Username', ), ), 如果防止UI随着手机的旋转而在横竖屏间切换

    1.8K21

    android获得ImageView图片的等级

    android获得ImageView图片的等级问题 要实现的功能如下图,点击分享能显示选中与不选中状态,然后发送是根据状态来实现具体分享功能。...在gridview中有5个子项,每个子元素都有两张图片A,B的level设置分别为0,1;点击图片使图片AB切换,前题是要能知道当前图片的等级。...但这里只有设置等级的方法,设置图片的等级setImageLevel(1); Debug时能看到当前子元素的图片等级,如下: 不能获得当前等级,只能更换思路:定义一个数组,对应每个子元素的状态  final...int[] listSeld = new int[] { 0, 0, 0, 0, 0 };// 0未选中,1选中 然后在gridview点击事件中获得当前子元素后根据当前状态,更改等级,如下: //...还有一种方法是isSelected方法,如注释部分,但最终不如第一种方案好。

    1.1K50

    【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )

    图片展示的可选定制, 图片存储, 缓存切换, 编解码操作, Bitmap 处理和展示; -- 4. 图片的内存缓存 和 硬盘缓存, 硬盘包括设备的文件系统 或 SD 卡; -- 5....配置 (ImageLoaderConfiguration) 在应用全局中有效, 你只需要设置它一次. -- 配置可选性 : 配置中所有的选项都是可选的; -- 默认配置 : 可以查看 ImageLoaderConfiguration.java...方法设置, 那么就会使用默认的展示选项; -- 默认展示选项来源 : 展示选项是 配置类 调用 ddefaultDisplayImageOptions() 方法获取,  如ImageLoaderConfiguration.defaultDisplayImageOptions...(R.drawable.ic_empty) //设置没有 Uri 地址时的图片 .showImageOnFail(R.drawable.ic_error) //设置加载失败时的图片...GridView中使用 UIL GridView 中使用 UIL :  -- 核心代码 : 主要是在 GridView 中的适配器中使用 UIL; -- 设置展示选项 :  private DisplayImageOptions

    1.1K20

    使用lrucache和diskLrucache实现照片墙

    在 Android照片墙应用实现,再多的图片也不怕崩溃 这篇文章当中,我编写了一个照片墙的应用程序,但当时只是单纯使用到了内存缓存而已,而今天我们就对这个例子进行扩展,制作一个完整版的照片墙。...,我们需要一个GridView来展示照片墙上的每一张图片。...接着我们要定义GridView中每一个子View的布局,新建一个photo_layout.xml布局,加入如下代码: android="http://schemas.android.com...用于展示照片墙的GridView      */ private GridView mPhotoWall;   /**      * GridView的适配器      */...第一次从网络上请求图片的时候有点慢,但之后加载图片就会非常快了,滑动起来也很流畅。

    1.6K90

    Android开发笔记(三十八)列表类视图

    一般情况下自定义适配器继承自BaseAdapter就够用了,当然Android为了方便懒人,专门扩展了两种简单易用的适配器,如ArrayAdapter用于每行只显示文本的情况,而SimpleAdapter...spinnerMode : 下拉列表的显示样式,有dialog弹窗和dropdown下拉两种。不过考虑到用户体验,实际开发中一般用dialog。...下面是GridView常用的属性和方法: xml布局上的属性设置: horizontalSpacing : 指定子视图在水平方向的间距。...实际开发中一般把模式设置为columnWidth。 listSelector : 指定点击网格时的显示背景。...GridView的适配器模板与ListView是一样的,只要换掉代码里的布局文件名以及相关控件名称就好了,所以不再重复贴出GridView的适配器代码。

    2.4K20

    Android瀑布流照片墙实现,体验不规则排列的美感

    记得我在之前已经写过一篇关于如何在Android上实现照片墙功能的文章了,但那个时候是使用的GridView来进行布局的,这种布局方式只适用于“墙”上的每张图片大小都相同的情况,如果图片的大小参差不齐,...在GridView中显示就会非常的难看。...而使用瀑布流的布局方式就可以很好地解决这个问题,因此今天我们也来赶一下潮流,看看如何在Android上实现瀑布流照片墙的功能。...这里我事先在百度上搜索了很多张风景图片,并且为了保证它们访问的稳定性,我将这些图片都上传到了我的CSDN相册里,因此只要从这里下载图片就可以了。...* 是否已加载过一次layout,这里onLayout中的初始化只需加载一次 */ private boolean loadOnce; /** * 对图片进行管理的工具类 */

    2.9K50

    Android照片墙完整版,完美结合LruCache和DiskLruCache

    在 Android照片墙应用实现,再多的图片也不怕崩溃 这篇文章当中,我编写了一个照片墙的应用程序,但当时只是单纯使用到了内存缓存而已,而今天我们就对这个例子进行扩展,制作一个完整版的照片墙。...接下来首先需要考虑的仍然是图片源的问题,简单起见,我仍然是吧所有图片都上传到了我的CSDN相册当中,然后新建一个Images类,将所有相册中图片的网址都配置进去,代码如下所示: public class...,我们需要一个GridView来展示照片墙上的每一张图片。...接着我们要定义GridView中每一个子View的布局,新建一个photo_layout.xml布局,加入如下代码: android="http://schemas.android.com...第一次从网络上请求图片的时候有点慢,但之后加载图片就会非常快了,滑动起来也很流畅。

    1.5K90

    Bitmap的异步加载和缓存

    原则上“显示多少加载多少”,没有必要加载一个分辨率比将要显示的分辨率还大的图片,除了浪费内存没有任何好处。 下面就来看如何加载一个图片的较小的二次采样后的版本。...为了让图片解码器(decoder)在加载图片时使用二次采样(subsample),可以设置参数BitmapFactory.Options 的inSampleSize属性。...在列表显示大量图片,或者其它任意的图片显示操作下,默认地系统会对内存中无强引用的图片数据进行回收,而很多时候,如列表来回滑动多次显示同样的图片,引起图片的内存释放和反复加载,图片加载是耗时操作,最终,使得图片展示交互体验无法流畅进行...一个800x480的设备上,全屏的GridView填满图片后大约使用1.5MB(8004804 bytes)的内存,这样,缓存可以保证约2.5页的图片数据。...GridView展示的图片的异步加载不会导致错乱,必须牢记耗时操作不要阻塞UI,保证交互流畅。

    1.9K50

    C#-Xamarin的Android项目开发(二)——控件应用

    ,该地址指向了一个图片。...GridView 首先,Android的GridView是我见过最奇葩的列表使用方式。。。 然后,我们开始学习使用它把。...先找到GridView控件,代码如下: GridView my_grid = this.FindControlGridView>("my_grid"); 接着,我们定义一个适配器,并把他赋值给GridView...这也是为什么我感觉他奇葩的原因,因为在之前的Activity和布局中已经混淆了视图和数据,然后,在控件里,我们又一次把数据和布局搅和在了一起。。。。 下面我们看看它是如何混淆,不,他是如何工作的吧。...然后,我们通过paramInt来判断当前行,正常情况,在这里找到Activity的数据集合,找到集合的对应行赋值即可了。 Demo里我们做了一下特殊处理,我们为行视图添加了图片。

    1.3K40

    《Flutter》-- 6.高级组件

    目前,可滚动组件中的大部分组件都支持基于Sliver的延迟构建模型,如ListView、GridView。...6.1.3 SingleChildScrollView组件 是一个只能包含单一子组件的可滚动组件,其作用类似于iOS的UIScrollView组件或Android的ScrollView组件。...,作用类似于原生Android中的GridView/RecyclerView或者iOS的UICollectionView。...的构造函数一共有5个: 1)GridView():默认构造函数,适用于元素个数有限的场景,会一次性全部渲染children属性中的子元素组件; 2)GridView.builder():适用于构建大量或无限长的列表...PageView是一个滑动视图列表组件,它继承自CustomScrollView,作用类似于Android的ViewPager,可以用它实现视图的左右滑动切换功能。

    10.7K20
    领券