网格布局作业

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.administrator.testapp">
 4
 5     <application
 6         android:allowBackup="true"
 7         android:icon="@mipmap/ic_launcher"
 8         android:label="@string/app_name"
 9         android:supportsRtl="true"
10         android:theme="@style/AppTheme">
11         <activity android:name=".MainActivity" />
12         <activity android:name=".test_activity6" />
13         <activity android:name=".TestActivity7" />
14         <activity android:name=".TestActivity8" />
15         <activity android:name=".Main2Activity" />
16         <activity android:name=".TestActivity9">
17         </activity>
18         <activity android:name=".TestActivity10">
19             <intent-filter>
20                 <action android:name="android.intent.action.MAIN" />
21                 <category android:name="android.intent.category.LAUNCHER" />
22             </intent-filter>
23         </activity>
24     </application>
25
26 </manifest>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     tools:context="com.example.administrator.testapp.TestActivity10">
 7
 8     <GridView
 9         android:layout_width="match_parent"
10         android:layout_height="match_parent"
11         android:id="@+id/gv_1"
12         android:numColumns="4"
13         android:horizontalSpacing="20dp"
14         android:stretchMode="columnWidth"
15         android:gravity="center">
16     </GridView>
17 </LinearLayout>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent">
 6
 7     <ImageView
 8         android:layout_width="100dp"
 9         android:layout_height="100dp"
10         android:src="@drawable/f1"
11         android:id="@+id/gv_2"/>
12     <TextView
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:id="@+id/gv_3"
16         android:text="123"
17         android:layout_gravity="center_horizontal"
18         android:textColor="#000"
19         android:textStyle="bold"/>
20 </LinearLayout>
  1 package com.example.administrator.testapp;
  2
  3 import android.os.Bundle;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.view.View;
  6 import android.view.ViewGroup;
  7 import android.widget.BaseAdapter;
  8 import android.widget.GridView;
  9 import android.widget.ImageView;
 10 import android.widget.TextView;
 11
 12 import java.util.ArrayList;
 13 import java.util.List;
 14
 15 public class TestActivity10 extends AppCompatActivity {
 16
 17     GridView gv_1;
 18     List<MyClass> liv;
 19     TextView gv_3;
 20     ImageView gv_2;
 21     @Override
 22     protected void onCreate(Bundle savedInstanceState) {
 23         super.onCreate(savedInstanceState);
 24         setContentView(R.layout.activity_test10);
 25         gv_1 = (GridView)findViewById(R.id.gv_1);
 26         gv_3 = (TextView)findViewById(R.id.tv_3);
 27         gv_2 = (ImageView)findViewById(R.id.gv_2);
 28
 29         //1、数据 图片的id
 30         liv = new ArrayList<>();
 31         MyClass myClass = new MyClass(R.drawable.f1,"美食1");
 32         liv.add(myClass);
 33         liv.add(new MyClass(R.drawable.f2,"美食2"));
 34         liv.add(new MyClass(R.drawable.f3,"美食3"));
 35         liv.add(new MyClass(R.drawable.f4,"美食4"));
 36         liv.add(new MyClass(R.drawable.f5,"美食5"));
 37         liv.add(new MyClass(R.drawable.f6,"美食6"));
 38         liv.add(new MyClass(R.drawable.f7,"美食7"));
 39         liv.add(new MyClass(R.drawable.f8,"美食8"));
 40         ImageAdapter imageAdapter = new ImageAdapter();
 41         {
 42             gv_1.setAdapter(imageAdapter);
 43         }
 44     }
 45     class MyClass
 46     {
 47         private int img;
 48         private String content;
 49
 50         public int getImg() {
 51             return img;
 52         }
 53
 54         public void setImg(int img) {
 55             this.img = img;
 56         }
 57
 58         public String getContent() {
 59             return content;
 60         }
 61
 62         public void setContent(String content) {
 63             this.content = content;
 64         }
 65         public MyClass(int img,String content)
 66         {
 67             this.img = img;
 68             this.content = content;
 69         }
 70     }
 71     //适配器
 72     class ImageAdapter extends BaseAdapter
 73     {
 74         @Override
 75         public int getCount() {
 76             return liv.size();
 77         }
 78
 79         @Override
 80         public Object getItem(int position) {
 81             return liv.get(position);
 82         }
 83
 84         @Override
 85         public long getItemId(int position) {
 86             return 0;
 87         }
 88
 89         @Override
 90         public View getView(int position, View convertView, ViewGroup parent) {
 91             //1.得到数据 图片的id
 92             MyClass myClass = liv.get(position);
 93             //2.准备View
 94             if (convertView ==null) {
 95                 convertView = View.inflate(TestActivity10.this, R.layout.gridlayout, null);
 96             }
 97             //3.适配
 98             //转换
 99             ImageView imageView = (ImageView)convertView.findViewById(R.id.gv_2);
100             imageView.setImageResource(myClass.getImg());
101
102             TextView textView = (TextView)convertView.findViewById(R.id.gv_3);
103             textView.setText(myClass.getContent());
104
105             return convertView;
106         }
107     }
108 }

时间: 2024-11-08 21:10:07

网格布局作业的相关文章

CSS3 网格布局(grid-layout)基础知识 - 网格模板属性(grid-template)使用说明

CSS3引入了新的网格布局(grid layout),以适应显示和设计技术的发展(尤其是移动设备优先的响应式设计). 主要目标是建立一个稳定可预料且语义正确的网页布局模式,用来替代过往表现不稳定且繁琐的table.flow以及JS脚本混合技术来实现的网页动态布局. 本文将简单而准确的介绍网格布局属性的基本概念和使用方法(摘自踏得网在线HTML5教程). 1. 概述 网格模板区域(grid-template-areas).网格模板行(grid-template-rows)和网格模板列(grid-t

在SOUI中使用网格布局

在实现网格布局前,SOUI支持两种布局形式:相对布局,和线性布局,其中线性布局是2017年2月份才支持的布局. 这两年工作都在Android这里,Android里有号称5大布局(RelativeLayout, LinearLayout, FrameLayout, GridLayout,TableLayout). FrameLayout很简单,在SOUI里一般用TabCtrl就实现了.RelativeLayout和SOUI自己的相对布局功能类似,线性布局也有了,但是一直没有实现GridLayout

CSS多列布局Multi-column、伸缩布局Flexbox、网格布局Grid详解

新css属性为我们提供了更加便捷的网页布局方式.来自微软的thomas lewis将带你认识去Grid Alignment,Flexibox Box以及Multi-column Layout这三大领域. 这篇文章最早出现在the April 2012 issue (226)这期的.net杂志上-这杂志是面向网页设计者以及开发者,全球销量最高的杂志. 按照以往来说,用CSS来布局看起来总是一样非常繁杂的工作.然而,随着一个个新标准的推出,网页设计者已经能够实现非常轻松地进行布局工作了. 主流的浏览

第7章(4) GridLayout(网格布局)

分类:C#.Android.VS2015: 创建日期:2016-02-10 一.简介 Android 4.0(API 14)开始提供的GridLayout布局使用虚细线将布局划分为行.列和单元格,也支持一个控件在行.列上都有交错排列. GridLayout使用与LinearLayout类似的API,只不过是修改了一下相关的标签而已. 1.默认布局方式-先行后列 GridLayout默认按先行后列的方式依次显示,子元素默认按照wrap_content的方式显示.如果不希望子元素显式指定其所在的行列

JAVA 网格布局管理器

//网格布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian3 extends JFrame{ //定义组件 JButton[] an = {null,null,null,null,null,null,null,null}; public static void main(String[] args){ //运行本类的构造方法 Jiemian3 jiemian = new Jiemian3(); } public

android的布局-----GridLayout(网格布局)

学习导图 (一)简介 网格布局由GridLayout所代表,在android4.0之后新增加的布局管理器,因此需要android4.0之后的版本中使用,如果在更早的平台使用该布局管理器,则需要导入相应的支持库<android.support.v7.widget.GridLayout> (二)案列----计算器 <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android

Java图形化界面设计——布局管理器之GridLayout(网格布局) 之计算器

代码如下: import java.awt.*; import javax.swing.*; public class GridFrame extends JFrame { // 定义字符串数组,为按钮的显示文本赋值 String str[] = { "MC", "MR", "MS", "M+", "←", "C", "%", "π", "

GUI布局:边界布局、流式布局、网格布局、卡片布局

边界布局 package guiTest; //JFrame默认的是边界布局BorderLayout import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutDemo { public static void main(String[] args) { JFrame f = new JFrame("边界布局BorderLayout&q

Android组件式开发(2)——实现网格布局的RadioButton矩阵

** 前言 ** 在Android中,我们一般通过RadioGroup来管理一组RadioButton 来达到 单选按钮的互斥效果.但是,有些需求中,需要完成N行N列这样的RadioButton组成的矩阵,但是我们的RadioGroup是一个耿直的LinearLayout,无法完成网格布局╮(╯▽╰)╭.所以,下面我就像大家来介绍一种实现网格布局的RadioButton的思路. 无图无真相, 先上一下效果图~ ** 思路 ** 提到网格布局,最简单的就是使用系统的GridView来实现,我们需要