06 网格视图

本文介绍了如何在Android中使用GridView展示图片和标题,通过自定义SimpleAdapter实现数据适配,并展示了两种不同的布局方式:LinearLayout和ConstraintLayout的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    >
    <GridView
        android:id="@+id/gridview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="3"
        android:stretchMode="columnWidth"></GridView>



</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.texxt.MainActivity">

    <LinearLayout
        android:id="@+id/fr"
        android:layout_width="wrap_content"

        android:layout_height="wrap_content"
        android:orientation="vertical">
        >

        <ImageView
            android:id="@+id/imageview"

            android:layout_width="100dp"
            android:layout_height="100dp">

        </ImageView>

        <TextView
            android:id="@+id/textview"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></TextView>

    </LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

package com.texxt;


import android.app.Activity;

import android.os.Bundle;


import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.SeekBar;
import android.widget.SimpleAdapter;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewSwitcher;


import androidx.annotation.NonNull;

import com.example.textmethod.R;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class MainActivity extends Activity {

    int[] img = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img1, R.drawable.img2, R.drawable.img3};
    String[] title = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9"};
    public TextView textView;

    public ImageView imageview;
    public GridView gridView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.textview);
        imageview = findViewById(R.id.imageview);
        gridView = findViewById(R.id.gridview);
        List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
        for (int i = 0; i < title.length; i++) {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("title", title[i]);
            map.put("img", img[i]);
            mapList.add(map);

        }

        SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, mapList, R.layout.list_main, new String[]{"title", "img"}, new int[]{R.id.textview, R.id.imageview});
        gridView.setAdapter(adapter);


    }

}

package com.texxt;


import android.app.Activity;

import android.os.Bundle;


import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.SeekBar;
import android.widget.SimpleAdapter;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewSwitcher;


import androidx.annotation.NonNull;

import com.example.textmethod.R;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class MainActivity extends Activity {

    int[] img = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img1, R.drawable.img2, R.drawable.img3};
    String[] title = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9"};
    public TextView textView;

    public ImageView imageview;
    public GridView gridView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.textview);
        imageview = findViewById(R.id.imageview);
        gridView = findViewById(R.id.gridview);

        BaseAdapter adapter = new BaseAdapter() {
            @Override
            public int getCount() {

                return title.length;
            }

            @Override
            public Object getItem(int i) {
                return title[i];
            }

            @Override
            public long getItemId(int i) {
                return i;
            }

            @Override
            public View getView(int i, View view, ViewGroup viewGroup) {
                ImageView imageView;
                if (view == null) {
                    imageView = new ImageView(MainActivity.this);
                    imageView.setPadding(5, 0, 5, 0);
                    imageView.setLayoutParams(new LinearLayout.LayoutParams(100,100));
                    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

                } else {
                    imageView = (ImageView) view;
                }
                imageView.setImageResource(img[i]);

                return imageView;
            }
        };

        gridView.setAdapter(adapter);


    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值