网格视图,带图片和内容

package com.hanqi.testapp111;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class TestActivity10 extends AppCompatActivity {
    GridView gv_1;
    List<MyClass> liv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test10);
        gv_1=(GridView)findViewById(R.id.gv_1);
        liv=new ArrayList<MyClass>();
        MyClass myClass=new MyClass(R.drawable.f1,"jrw","hanzu");
        liv.add(myClass);
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        liv.add(new MyClass(R.drawable.f1,"qqq","eee"));
        ImageAdapter imageAdapter=new ImageAdapter();
        gv_1.setAdapter(imageAdapter);

    }
    class MyClass
    {
        private int img;
        private String name;
        private String content;

        public int getImg() {
            return img;
        }

        public void setImg(int img) {
            this.img = img;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getContent() {
            return content;
        }

        public void setContent(String content) {
            this.content = content;
        }
        public MyClass(int img,String name,String content)
        {
            this.img=img;
            this.name=name;
            this.content=content;
        }
    }
    class ImageAdapter extends BaseAdapter
    {
        @Override
        public int getCount() {
            return liv.size();
        }

        @Override
        public Object getItem(int position) {
            return liv.get(position);
        }

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

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            MyClass myClass=liv.get(position);
            if (convertView==null)
            {
                convertView=View.inflate(TestActivity10.this,R.layout.grid_adapter,null);
            }
            ImageView imageView=(ImageView)convertView.findViewById(R.id.iv_1);
            imageView.setImageResource(myClass.getImg());
            TextView textView=(TextView)convertView.findViewById(R.id.tv_1);
            textView.setText(myClass.getName());
            TextView textView1=(TextView)convertView.findViewById(R.id.tv_2);
            textView1.setText(myClass.getContent());
            return convertView;
        }
    }
}

<?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:layout_width="70dp"
        android:layout_height="70dp"
        android:id="@+id/iv_1"/>
    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:id="@+id/tv_1"/>
    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:id="@+id/tv_2"/>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.hanqi.testapp2.TestActivity10"
    android:orientation="vertical">
    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/gv_1"
        android:numColumns="4"
        android:stretchMode="columnWidth"
        android:gravity="center"
        android:horizontalSpacing="30dp"
        android:verticalSpacing="30dp"
        android:columnWidth="120dp">

    </GridView>

</LinearLayout>

时间: 2024-11-13 11:06:08

网格视图,带图片和内容的相关文章

网格视图在Android应用程序中的使用

网格视图是在应用程序中比较常见的视图. 首先介绍一下GridView类,GridView类位于android.widget包下,该视图是将其他空间以二维格式显示到表格中的,而这些控件全部来自于ListAdapter适配器. GridView类的属性同样有两种配置方式,即XML属性配置和Java代码中配置.如表中列出了常见的属性和方法. 其次,介绍一下网格视图的使用,下面将通过一个完整的案列详细介绍网格视图的使用方法,在该案例中同样列出了各个动漫名人,包括其照片及描述,案例的开发步骤如下: 创建一

View(视图)——ListView之BaseAdapter和SimpleCursorAdapter以及网格视图代码视图

一.BaseAdapter 1.数据源  List<Object> 一般是放实体类.POJO类,一般只包含私有属性和属性的getter和setter方法. 2.layout:可以用布局,包含多个视图. 3.抽象类:必须要继承并实现4个抽象方法 1-int getCount()  返回数据源的记录数 2-Object getItem(int position) 返回索引对应的数据对象 3-long getItemId(int position)  返回索引对应的数据对象的ID 4-View ge

Android学习笔记27:网格视图GridView的使用

网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. 本文将以一个具体的实例来说明如何使用GridView控件实现手机屏幕上各个应用软件图标的摆放,以及应用软件名称的显示. 完成后的程序运行效果如图1所示. 图1 主界面显示效果 1.界面布局 通过查看GridView的API帮助文档(http://developer.android.com/reference/android/widget/Gri

网格视图GridView的使用

网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. 本文将以一个具体的实例来说明如何使用GridView控件实现手机屏幕上各个应用软件图标的摆放,以及应用软件名称的显示. 完成后的程序运行效果如图1所示. 1.界面布局 通过查看GridView的API帮助文档(http://developer.android.com/reference/android/widget/GridView.html)

Android 网格视图GridView的使用

网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. 本文将以一个具体的实例来说明如何使用GridView控件实现手机屏幕上各个应用软件图标的摆放,以及应用软件名称的显示. 完成后的程序运行效果如图1所示. 图1 主界面显示效果 1.界面布局 通过查看GridView的API帮助文档(http://developer.android.com/reference/android/widget/Gri

GridView网格视图和Toast消息提示的作用

网格视图GridView其实就类似与电视上的九宫格,一般用于罗列多个元素的时候.要掌握GridView的用法首先要掌握BaseAdapter基础数据适配器的使用. GridView的一些属性:Android:columnWidth 列的宽度 Android:gravity 对齐方式 Android:horizomtalSpacing 列 间距 Android:stretchMode 缩放模式 Android:verticalSpacing 行 间距 getAdapter()获得与此组件相关的适配

数据绑定和数据网格视图(DataGridView)控件

数据绑定和数据网格视图(DataGridView)控件 数据网格视图控件,不像我们前面看到的控件,它可以显示多个列,但是,数据必须格式化,使数据网格知道要显示哪一列.有两种实现方法:一个是把数据网格视图绑定到数据表(DataTable),另一个是把网格到绑定对象列表,对象有许多属性,不同的属性就成为网格的列. 下面的例子是一种简单的解决方案,绑定到数据集(DataSet): open System open System.Collections.Generic open System.Confi

Android开发系列(二十三):实现带图片提示的Toast提示信息框

Android中的Toast是很常见的一个消息提示框,但是默认的消息提示框就是一行纯文本,所以我们可以为它设置一些其他的诸如是带上图片的消息提示. 实现这个很简单: 就是定义一个Layout视图,然后设置Toast显示自定义的View. 在这里,就是设置了一个LinearLayout容器,然后给这个容器添加图片,添加文字信息.然后把这个容器设置给Toast对象,让其显示出来. 首先创建一个Android项目,然后我们编辑下main.xml文件: <span style="font-size

【Android】10.3 网格视图(GridView)

分类:C#.Android.VS2015: 创建日期:2016-02-19 一.简介 网格视图(GridView)是在GridLayout的基础上添加了滚动功能的视图,即:GridView用于在可滚动的2D网格空间中显示包含大量单元格的项(每项都是一个视图),例如每个单元格显示一个图片,当图片较多时,还可以上下滚动查看. 要使用GridView,需要先编写一个视图适配器(一般用继承自BaseAdapter<T>的适配器类来实现),再利用它来依次填充每个单元格,例如,将图片按先行后列(或者先列后