AndroidStudio中使用XML和Java代码混合控制UI界面实现QQ相册照片列表页面
场景
效果

注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建Android项目,首先打开activity_main.xml
使用XML设置页面
将其布局改为GridLayout,并设置其行数为3,列数为4,以及设置其id。
android:rowCount = ""
android:columnCount = ""
android:id="@+id/gridLayout"

使用Java代码设置页面
首先将要显示的照片复制到res/drawale下
原本要显示12张,应该要复制12张照片,这里只复制了一张。

打开MainActivity.java
先声明一个ImageView数组和图片路径数组。
private ImageView[] img = new ImageView[];
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 =;i<imagePath.length;i++)
{
img[i] = new ImageView(MainActivity.this);
//给ImageView设置图片源
img[i].setImageResource(imagePath[i]);
//设置内边距
img[i].setPadding(, , , );
//设置布局参数 即图片 大小
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(,);
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[];
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 =;i<imagePath.length;i++)
{
img[i] = new ImageView(MainActivity.this);
//给ImageView设置图片源
img[i].setImageResource(imagePath[i]);
//设置内边距
img[i].setPadding(, , , );
//设置布局参数 即图片 大小
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(,);
img[i].setLayoutParams(params);
//将ImgageView添加到layout上
layout.addView(img[i]);
}
}
}
AndroidStudio中使用XML和Java代码混合控制UI界面实现QQ相册照片列表页面的更多相关文章
- 使用xml和java代码混合控制UI界面
main.xml.................... <?xml version="1.0" encoding="utf-8"?> <Li ...
- 使用XML布局文件和Java代码混合控制UI界面
完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...
- 使用xml及java代码混合的方式来设置图形界面
参考<疯狂android讲义>第2版2.1节 设置android的图形界面有三种方法: 1.使用纯xml文件 2.使用纯java,代码臃肿复杂,不建议使用 3.使用xml与java混合,前 ...
- xml与java代码相互装换的工具类
这是一个java操作xml文件的工具类,最大的亮点在于能够通过工具类直接生成xml同样层次结构的java代码,也就是说,只要你定义好了xml的模板,就能一键生成java代码.省下了自己再使用工具类写代 ...
- js 和 css 中 不能使用 jsp 页面中一些 标签 和 java 代码等,应注意
js 和 css 中 不能使用 jsp 页面中一些 标签 和 java 代码等,应注意 如 ${ } <%%> 等
- 在代码中控制UI界面
虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...
- 在xml中调用自己用java代码定义的View
1.在res中new一个class继承view.View,重写ondraw方法,写出自己的view package com.zzw.myView; import android.content.Con ...
- Android学习笔记(9):使用XML文件和Java代码控制UI界面
Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...
- Unity 中调用Android的JAVA代码
首先我们要创建一个android项目 因为项目需要使用Unity提供的接口,所以需要将接口classes.jar引入至当前工程但中.接口包的所在地,打开Finder->应用程序->Unit ...
随机推荐
- java效率工具 Lombok
Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toStringm异常处理,I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生. ...
- (转) exp1-1:// 一次有趣的XSS漏洞挖掘分析(1)
from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1) 最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套 ...
- 使用eNSP配置QinQ
参考链接:https://blog.csdn.net/alone_map/article/details/52217094 本文主要记录使用华为eNSP模拟器来实现配置QinQ,并对QinQ的报文进行 ...
- EditPlus 添加 打开文件所在文件夹 功能
添加自定义工具: Tools -> Configure User Tools... -> Add Tool >> Menu Text: 打开所在的文件夹 Command: ex ...
- Windows中安装Linux子系统的详细步骤
早就听说Windows中可以安装Linux子系统,体验了一下,感觉还是不错的,下面直接开始安装和配置步骤吧! 开启Windows中的配置 首先开启开发者模式 打开"所有设置"进入& ...
- Algorithm: 多项式乘法 Polynomial Multiplication: 快速傅里叶变换 FFT / 快速数论变换 NTT
Intro: 本篇博客将会从朴素乘法讲起,经过分治乘法,到达FFT和NTT 旨在能够让读者(也让自己)充分理解其思想 模板题入口:洛谷 P3803 [模板]多项式乘法(FFT) 朴素乘法 约定:两个多 ...
- JVM第一弹
JVM第一弹 基本概念 JVM是可运行java代码的假想计算机,包括一套字节码指令集,一组寄存器,一个栈,一个垃圾回收.堆和一个存储方法域.JVM是运行在操作系统之上的,它与硬件没有直接的交互. 运行 ...
- Docker三剑客之swarm
简介 swarm是一种docker集群管理工具,跟三剑客前两者不同的是:compose是一种统一编排的工具,machine是一种远程控制工具,swarm则是将多个docker主机映射成一个docker ...
- http://i.youku.com/u/UMzQ3NjQ0MDAw C语言教学 觅风
http://i.youku.com/u/UMzQ3NjQ0MDAw C语言教学 觅风
- 对result文件进行数据清洗以及进行可视化
项目源码地址:https://github.com/gayu121/result(项目里操作的数据都是清洗过后的数据) 测试要求: 1. 数据清洗:按照进行数据清洗,并将清洗后的数据导入hive数据库 ...