android 网络视图 手机相册

java 复制代码
package com.aaa.testm2;

import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

public class MainActivity extends AppCompatActivity {

    // 定义一个整型数组,存储所有美女化妆图片的资源ID
    // 这就像是餐厅准备的菜品图片
    private int [] picture = new int[]{R.drawable.makeup_girl_00,
            R.drawable.makeup_girl_01,
            R.drawable.makeup_girl_02,
            R.drawable.makeup_girl_03,
            R.drawable.makeup_girl_04,
            R.drawable.makeup_girl_05};
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);  // 设置活动的布局文件,就像布置餐厅的餐桌
        
        // 从布局中找到 GridView 控件,这是我们的菜单板
        GridView gridView = findViewById(R.id.gridView);
        
        // 创建一个列表,用于存储所有要展示的数据
        // 每个数据项是一个 Map,就像菜单上的每道菜都有名字和图片
        List<Map<String, Object>> listitem = new ArrayList<Map<String,Object>>();

        // 遍历图片数组,为每张图片创建一个数据项并添加到列表中
        // 就像把每道菜的信息写在菜单上
        for(int i = 0; i < picture.length; i++){
            Map<String, Object> map = new HashMap<>();  // 创建一个数据项
            map.put("image", picture[i]);  // 给数据项添加一个键值对,键是"image",值是图片ID
            listitem.add(map);  // 将数据项添加到列表中
        }

        // 创建一个 SimpleAdapter,它是数据和视图之间的桥梁
        // 就像一个翻译,把菜单内容翻译成菜单板能理解的格式
        // 参数说明:
        // this - 当前活动上下文
        // listitem - 数据源,包含所有图片信息
        // R.layout.ceil - 每个数据项的布局文件,就像每个菜品在菜单上的展示样式
        // new String[]{"image"} - 要展示的数据的键名数组
        // new int[]{R.id.image} - 布局中对应的视图ID数组,用于放置数据
        SimpleAdapter simpleAdapter = new SimpleAdapter(this, listitem, R.layout.ceil, 
                new String[]{"image"}, new int[]{R.id.image});
        
        // 将适配器设置给 GridView,让 GridView 知道如何展示数据
        // 就像把打印好的菜单挂在菜单板上
        gridView.setAdapter(simpleAdapter);
    }
}
XML 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/image"
        android:layout_width="100dp"
        android:layout_height="75dp"/>

</LinearLayout>

步骤总结:

  1. 准备图片资源
  2. 创建活动类
  3. 设置布局
  4. 获取 GridView 控件
  5. 创建数据列表
  6. 将图片添加到数据列表
  7. 创建适配器
  8. 将适配器设置给 GridView

参数解释:

  • picture 数组:存储所有美女图片的 ID,就像每道菜的照片。
  • gridView:菜单板,用来排列和展示所有图片。
  • listitem:菜单内容,存储每道菜的信息(名字和图片)。
  • SimpleAdapter:菜单打印机,把菜单内容转换为菜单板能理解的格式。
  • R.layout.ceil:每个菜品在菜单上的展示样式(单个格子的布局)。
  • R.id.image:每个格子中放置图片的位置(图片框)。
相关推荐
莫名的好感°3 小时前
主流手机解压工具三大核心维度深度对比:资质梳理与选购指南
智能手机
alexhilton3 小时前
Android的Agent优先时代:构建时vs运行时
android·kotlin·android jetpack
Cutecat_4 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
2601_961765295 小时前
【分享】PlayerPro媒体音乐播放器 完整专业版
android·媒体
JohnnyDeng947 小时前
【Android】Android 包体积优化:R8/ProGuard 深度配置全攻略
android·性能优化·kotlin·jetpack
故渊at7 小时前
第九板块:Android 多媒体体系 | 第二十四篇:Camera Service 与 HAL3 成像流水线
android·camera·多媒体体系·hal3
lauo9 小时前
ibbot青春版:当腾讯AI“换船”,一部手机如何成为你的Token“私矿”?
大数据·人工智能·chatgpt·智能手机·ai-native
Jinkxs10 小时前
Python基础 - 初识内置函数 Python自带的便捷工具
android·java·python
私人珍藏库11 小时前
【Android】VLLO-韩国热门手机剪辑APP
android·app·工具·软件·多功能
Cloud_Shy61812 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 40 - 43)
android·开发语言·人工智能·笔记·python·学习方法