安卓一行两个的居中图像列表

定义一个item.xml作为视频摆放的模板

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/white"android:paddingTop="10dp"android:gravity="center|top"><ImageViewandroid:id="@+id/first_im_item"android:layout_width="180dp"android:layout_height="246dp"android:background="@drawable/check_button"android:scaleType="fitXY"></ImageView><ImageViewandroid:id="@+id/second_im_item"android:layout_width="180dp"android:layout_height="246dp"android:background="@drawable/check_button"android:layout_toRightOf="@id/first_im_item"android:layout_marginLeft="10dp"android:scaleType="fitXY"></ImageView></RelativeLayout>

这样可以居中显示,如图所示

然后定义一个ImageListAdapter类,这个类继承BaseAdapter,这个类中有两个属性

private List<Map<String, Object>> list;
private Context context;

一个为图片列表,一个是上下文

这个类中重写四个方法,第一个getCount,返回一共有多少行

@Overridepublic int getCount() {int count=list.size();int sumCount;if (count % 2 == 0) {sumCount = count / 2; // 如果是双数直接减半} else {sumCount = (int) Math.floor((double) count / 2) + 1;}return sumCount;}

重写getItem,返回list对应的i的item;重写getItemId,返回item对应的id,如果这两个方法不重写,就没法页面渲染。

    @Overridepublic Object getItem(int i) {return list.get(i);}@Overridepublic long getItemId(int i) {return i;}

接下来就是最重要的方法getView,首先先去获得前面定义的item.xml中的两个组件,然后为两个组件设置Bitmap

   @Overridepublic View getView(int position, View view, ViewGroup viewGroup) {View view1= LayoutInflater.from(context).inflate(R.layout.itrm,viewGroup,false);ImageView imageView1=(ImageView) view1.findViewById(R.id.first_im_item);//一行里面的第一个图片ImageView imageView2=(ImageView)view1.findViewById(R.id.second_im_item);//一行里面的第二个图片imageView1.setImageBitmap((Bitmap) list.get(position*2).get("vCover"));//position是行数if(position*2+1==list.size()){imageView2.setVisibility(View.INVISIBLE);}else {imageView2.setVisibility(View.VISIBLE);imageView2.setImageBitmap((Bitmap) list.get(position*2+1).get("vCover"));}//判断个数为单数还是双数,如果是单数,那么最后一个位置不显示,如果数双数就显示imageView1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//写点进去的交互行为}});return view1;//记得一定要return}

然后是实现部分:首先在布局中添加组件ListView

            <ListViewandroid:id="@+id/lv_mine"android:layout_width="match_parent"android:layout_height="match_parent"></ListView>

然后在java代码中实现

ListView listView=(ListView) view.findViewById(R.id.lv_mine);
ImageListAdapter imageListAdapter =new ImageListAdapter(getContext(),R.layout.itrm,list);//实例化适配器,将图片列表list传进去
Map<String,Object> map=new HashMap<String,Object>();
map.put("vId",vId);//图片id
map.put("vSource",vSource);//图片地址
map.put("vCover",returnBitmap(vCover));//图片
map.put("vName",vName);//图片名
list.add(map);//这是list中的数据举例说明一下
listView.post(new Runnable() {@Overridepublic void run() {Log.d("TAG", "onResponse: ------设置适配器");listView.setAdapter(imageListAdapter);Log.d("TAG", "onResponse: ------设置适配器完成");}});

效果

安卓一行两个的居中图像列表相关推荐

  1. 插图 引用 同一行两个插图_提出食物主题中的插图

    插图 引用 同一行两个插图 I have a page in my portfolio, which is about search functionality. I wanted that page ...

  2. 插图 引用 同一行两个插图_为什么插图是产品的重要组成部分

    插图 引用 同一行两个插图 "Hi, my name is Ludmila and I'm a UX/UI designer" "嗨,我叫Ludmila,我是UX / U ...

  3. 文本 字体 图像 列表

    2.文本 2.1 文本颜色 color 属性用于设置文本的颜色.颜色由以下值指定: 颜色名 - 比如 red 十六进制值 - 比如 #ff0000 RGB 值 - 比如 rgb(255, 0, 0) ...

  4. 用一行代码高效的求一个列表的平方和

    最近看到一个笔试题,考察的都是 Python 中的高阶函数 题目如下:用一行代码高效的求一个列表的平方和(不能用 sum 函数) 分析 1.先将列表中每个值作平方: 立即想到 map 函数,假设列表是 ...

  5. 插图 引用 同一行两个插图_将图标变成插图的五个简单步骤

    插图 引用 同一行两个插图 Every creative person has probably already been in this situation: A project, be it a ...

  6. php给点击的li设置样式,两种方法为LI列表前3行设置样式

    两种方法为LI列表前3行设置样式 蓝叶    网站设计    2014-06-18    9789    10评论 在设计网页模板的时候,为了突出信息的重要性以及美观度,我们会设置一些样式使LI文章列 ...

  7. 插图 引用 同一行两个插图_案例研究产品设计中的动画插图

    插图 引用 同一行两个插图 At the beginning of this year I was working on a new feature for the Undo app. It is a ...

  8. h.264参考图像列表、解码图像缓存

    1.参考图像列表(reference picture list) 一般来说,h.264会把需要编码的图像分为三种类型:I.P.B,其中的B.P类型的图像由于采用了帧间编码的这种编码方式,而帧间编码又是 ...

  9. OpenCV加载图像列表imagelist的实例(附完整代码)

    OpenCV加载图像列表imagelist的实例 OpenCV加载图像列表imagelist的实例 OpenCV加载图像列表imagelist的实例 #include "opencv2/im ...

最新文章

  1. mysql中的字符匹配查询
  2. HBase、Redis、MongoDB、Couchbase、LevelDB 五款主流NoSQL数据库大比拼
  3. 零样本性能超越GPT-3!谷歌提出1370亿参数自回归语言模型
  4. Java零基础如何去学习Java编程
  5. set,存放不重复数据的集合类型
  6. E. Jamie and Tree(树链剖分 + 线段树)
  7. routersploit简单实例
  8. pip install 报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb5 in
  9. 聚合登录平台网站源码 PHP聚合登录源码
  10. android系统下多媒体播放
  11. oracle占位符怎么打,PL/SQL Challenge 每日一题:2018-7-11 动态SQL中的占位符
  12. centos配置epel和remi源
  13. springcloud篇面试宝典
  14. QCA-WIFI技术研讨
  15. 【CVX】SDP and conic form problems
  16. 企业招聘大数据人才 看重的是哪些方面?
  17. Docker容器dockerfile构建镜像
  18. 信息系统项目管理基础
  19. ios9提取安装包ipa_支付宝9.9苹果版-ios支付宝9.9内测版下载ipa提取版-《百度网盘下载》西西软件下载...
  20. 制作启动U盘 —— 大白菜U盘启动盘制作工具V5.1

热门文章

  1. MongoDB:常用命令
  2. 前端组jsjQuery测试
  3. Javascript草稿纸
  4. javabean实体类为什么都用包装类型
  5. 阴什么圆什么的成语(阴什么圆什么四字成语大全)
  6. 科技让化工更美丽,化工让生活更美好
  7. ASP.NET中使用JObject和JArray解析Json数据 (实用、赞)
  8. JAVA 输入年份月份打印该月的日历
  9. 这段时间用Vue做 淘宝管理系统遇到的几个问题
  10. Java-更改管理员密码