欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-03-25 18:04:57
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建Android项目,首先打开activity_main.xml 使用XML设置页面 将其布局改为GridLayo ......

场景

效果

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

 

 

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

注:

博客:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

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

使用xml设置页面

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

    android:rowcount = "3"
    android:columncount = "4"
    android:id="@+id/gridlayout"

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

 

 

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

使用java代码设置页面

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

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

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

 

 

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

打开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]);
        }
    }
}