Android GridView 指定行数,动态行宽,占满空间
有时间我们需要 使用GridViw 让它占满父控件,例:
特别是在适配的时间比较麻烦,在不同的机型上可能分出下,下面空的太多,或有滚动条问题,;
下面说一下实现思路:
首先,设置GridView 为三列,出来的为二行三列;
我们在Adapter getView 中判断分辨率,得到宽度和高度,GridView 占总高度的八分中的三分;
设置 Item 即每个子项的高占的空间八分中的三分的一半,宽占屏幕的三分之一;
其次把哪么把图片设置为Item高度的一半,即 ScreenHight/8*3/2/2;
宽度为Item宽度的二分之一,图片缩放类似为 CENTER_INSIDE
这样,基本就可以占满全空间了;
下面看代码:
设置Item:
int screenWidth = ScreenUtils.getScreenWidth();
int screenHeight = ScreenUtils.getScreenHeight();
//每个子项占宽度的三分之一,高度是宽屏的分七分,再占三分中的二分之一,还需要减去下面toolbar
int viewWidth = screenWidth/3;
int viewHeight = screenHeight*3/(2*8);
//L.e("screenWidth:" + screenWidth);
if (view == null) {
view = View.inflate(mContext, R.layout.fragment_item_mine_grid, null);
AbsListView.LayoutParams params = new AbsListView.LayoutParams(viewWidth,viewHeight);
view.setLayoutParams(params);
}
设置图片:
ViewGroup.LayoutParams ps = imageView.getLayoutParams();
ps.width = viewWidth/2;
ps.height = viewHeight/2;
imageView.setLayoutParams(ps);
//imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
Mine_GridItem ci = mList.get(i);
textView.setText(ci.getType());
imageView.setImageResource(ci.getResource());
最后看一下在横屏效果
坚屏的效果,也没有问题:
Android GridView 指定行数,动态行宽,占满空间的更多相关文章
- Java关于条件判断练习--统计一个src文件下的所有.java文件内的代码行数(注释行、空白行不统计在内)
要求:统计一个src文件下的所有.java文件内的代码行数(注释行.空白行不统计在内) 分析:先封装一个静态方法用于统计确定的.java文件的有效代码行数.使用字符缓冲流读取文件,首先判断是否是块注释 ...
- Android中动态设置GridView的列数、列宽和行高
在使用GridView时我们知道,列数是可以通过设计时的属性来设置的,列的宽度则是根据列数和GridView的宽度计算出来的.但是有些时候我们想实现列数是动态改变的效果,即列的宽度保持某个值,列的数量 ...
- 用django统计代码行数+注释行数
实现统计代码行数: 1.首先在url.py中配置 from django.conf.urls import url from django.contrib import admin from app0 ...
- jq根据table的tr行数动态删除相应的行
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Oracle 行转列(不固定行数的行转列,动态)(转)
http://bbs.csdn.net/topics/330039676 SQLSERVER :行列转换例子: http://www.cnblogs.com/gaizai/p/3753296.htm ...
- Android GridView使用View.GONE只隐藏内容而不隐藏空间的解决方案
最近在处理GridView的时候遇到这样一个问题:Android手机客户端接收服务端返回的一串数据(数据条数不固定),这串数据不一定都要显示到GridView上,也就是说有一部分内容需要隐藏掉,即有一 ...
- 算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数
1.先解决如何获取一个文件的代码行数 一开始对于这个问题,我的思路就回荡在:1字符串子字符串的判断 2循环直到结束的想法 3将原来是"\n"替换掉之类的想法 一个问题总会有多种解决 ...
- .Net_用控制台程序打印指定行数的三角型(面试题)
.Net_用控制台程序打印指定行数的三角型(面试题) 下面是一个由*号组成的4行倒三角形图案.要求: 1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”: ...
- android ScrollView 控制行数
利用ScrollView 来控制textView 显示的行数 <ScrollView android:layout_width="fill_parent" android:l ...
随机推荐
- Struts2 - 常用的constant总结
见注释 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC &quo ...
- 记一下一些比较有意思的第三方API
野狗,第三方后端通信用的:https://www.wilddog.com/ 花瓣网,用来做设计的:http://huaban.com/ Ping++,聚合支付接口:https://www.pingxx ...
- php 查询出来的字段名全是小写或者大写
PHP PDO预定义常量 PDO::CASE_LOWER -- 强制列名是小写PDO::CASE_NATURAL -- 列名按照原始的方式PDO::CASE_UPPER -- 强制列名为大写 修改此参 ...
- SQL Server附加数据库文件出错
场景: 新装一台数据库服务器,装好后,附加数据库时出错.附加前的数据库架构没有在新服务器上安装.新服务器上只有默认dbo架构. 解决: 以windows身份验证登录,附加正常. 错误码可能为5120. ...
- .NET简谈构件系统开发模式
转自[王清培] http://www.cnblogs.com/wangiqngpei557/archive/2011/06/14/2080416.html 在本人的“.NET简谈插件系统开发模式”一文 ...
- 将List<Map>中的datas转换为json格式写入文件
private static boolean writeToTextFileByJson(List<Map<String, Object>> datas, String tit ...
- PLSQL_闪回操作5_Flashback Table
2014-12-09 Created By BaoXinjian
- NeHe OpenGL教程 第十二课:显示列表
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- C语言小技巧
/* 求阶乘时设置最大调用层数,防止栈占满 当从函数进入另一个函数时当前函数的内容会入栈,另一个函数调用完时在出栈 */ int factorial(int n, int level) { //pri ...
- [实变函数]4.1 可测函数 (measurable function) 及其性质
1 记号 (notations) (1) 广义实数: $\overline{\bbR}=\bbR\cup\sed{-\infty}\cup\sed{+\infty}$. (2) 本章主要考虑 ...