AndroidStudio中使用XML和Java代码混合控制UI界面实现QQ相册照片列表页面
程序员文章站
2024-01-05 15:35:10
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建Android项目,首先打开activity_main.xml 使用XML设置页面 将其布局改为GridLayo ......
场景
效果
注:
博客:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建android项目,首先打开activity_main.xml
使用xml设置页面
将其布局改为gridlayout,并设置其行数为3,列数为4,以及设置其id。
android:rowcount = "3" android:columncount = "4" android:id="@+id/gridlayout"
使用java代码设置页面
首先将要显示的照片复制到res/drawale下
原本要显示12张,应该要复制12张照片,这里只复制了一张。
打开mainactivity.java
先声明一个imageview数组和图片路径数组。
private imageview[] img = new imageview[12]; private int[] imagepath = new int[]{ r.drawable.img1,r.drawable.img1,r.drawable.img1,r.drawable.img1, r.drawable.img1,r.drawable.img1,r.drawable.img1,r.drawable.img1, r.drawable.img1,r.drawable.img1,r.drawable.img1,r.drawable.img1 };
然后在其oncreate方法中
//获取layout gridlayout layout = (gridlayout) findviewbyid(r.id.gridlayout); for(int i =0;i<imagepath.length;i++) { img[i] = new imageview(mainactivity.this); //给imageview设置图片源 img[i].setimageresource(imagepath[i]); //设置内边距 img[i].setpadding(2, 2, 2, 2); //设置布局参数 即图片 大小 viewgroup.layoutparams params = new viewgroup.layoutparams(240,140); img[i].setlayoutparams(params); //将imgageview添加到layout上 layout.addview(img[i]);
完整示例代码
package com.badao.layouttest; import androidx.appcompat.app.appcompatactivity; import android.os.bundle; import android.view.viewgroup; import android.widget.gridlayout; import android.widget.imageview; public class mainactivity extends appcompatactivity { private imageview[] img = new imageview[12]; private int[] imagepath = new int[]{ r.drawable.img1,r.drawable.img1,r.drawable.img1,r.drawable.img1, r.drawable.img1,r.drawable.img1,r.drawable.img1,r.drawable.img1, r.drawable.img1,r.drawable.img1,r.drawable.img1,r.drawable.img1 }; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); //获取layout gridlayout layout = (gridlayout) findviewbyid(r.id.gridlayout); for(int i =0;i<imagepath.length;i++) { img[i] = new imageview(mainactivity.this); //给imageview设置图片源 img[i].setimageresource(imagepath[i]); //设置内边距 img[i].setpadding(2, 2, 2, 2); //设置布局参数 即图片 大小 viewgroup.layoutparams params = new viewgroup.layoutparams(240,140); img[i].setlayoutparams(params); //将imgageview添加到layout上 layout.addview(img[i]); } } }