android使用xml还是纯代码多,AndroidStudio中使用XML和Java代码混合控制UI界面实现QQ相册照片列表页面...

场景

效果

50f52a8b7f6dd3b708306d6756730d8a.png

nAJvppG8dr

注:

实现

新建Android项目,首先打开activity_main.xml

使用XML设置页面

将其布局改为GridLayout,并设置其行数为3,列数为4,以及设置其id。

android:rowCount = ""

android:columnCount = ""

android:id="@+id/gridLayout"

nAJvppG8dr

使用Java代码设置页面

首先将要显示的照片复制到res/drawale下

原本要显示12张,应该要复制12张照片,这里只复制了一张。

bcb10977d9470e360e78d12dfa50edf4.png

nAJvppG8dr

打开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

{

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

{

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]);

}

}

}

使用xml和java代码混合控制UI界面

main.xml.................... <?xml version="1.0" encoding="utf-8"?>

使用XML布局文件和Java代码混合控制UI界面

完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...

使用xml及java代码混合的方式来设置图形界面

参考第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学习笔记&lpar;9&rpar;&colon;使用XML文件和Java代码控制UI界面

Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...

Unity 中调用Android的JAVA代码

首先我们要创建一个android项目 因为项目需要使用Unity提供的接口,所以需要将接口classes.jar引入至当前工程但中.接口包的所在地,打开Finder->应用程序->Unit ...

随机推荐

QTP参数化

使用QTP可以通过将固定值替换为参数,扩展测试范围,可以提高测试的灵活性. 在QTP中,我们可以对以下部分进行参数化: 1.对象属性参数化 2.对象名称的参数化 3.对象方法的参数的参数化

NYOJ题目77开灯问题

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAHXCAIAAADbX7BCAAAgAElEQVR4nO3dvVLrSMAm4L0Jci6E2B

2016&period;8&period;25 JavaScript入门之二

1.字符串中,引用字符串:要用/"转换: 例如:var myStr="I am a \"double quoted\" string inside \&quot ...

Spring HtmlUtils把HTML编码转义,可将HTML标签互相转义

Spring HtmlUtils把HTML编码转义,可将HTML标签互相转义 2014年09月05日 ⁄ 综合 ⁄ 共 372字 ⁄ 字号 小 中 大 ⁄ 评论关闭   org.springframe ...

BZOJ&lowbar;1270&lowbar;雷涛的小猫&lowbar;&lpar;动态规划&rpar;

描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1270 有n棵树,高度为h.一只猫从任意一棵树的树顶开始,每次在同一棵树上下降1,或者跳到其他树 ...

linux下配置NFS服务器

(声明:本文大部分文字摘自Linux NFS服务器的安装与配置) 一.NFS简介     NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Su ...

eclipse修改字体

修改xml字体: window→Preferences→General→Colors and Fonts→Basic→Text Font

Django 基础知识

Django Models django 本身提供了非常强大易使用的ORM组件,并且支持多种数据库,如sqllite,mysql,progressSql,Oracle等,当然最常用的搭配还是mysql ...

CSS3制作上下跳动动画箭头效果

动画效果如下: 代码如下: 1 2 3

4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值