给图片下加字符

 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     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity10">
11
12     <GridView
13         android:layout_width="match_parent"
14         android:layout_height="match_parent"
15         android:id="@+id/gv_1"
16         android:numColumns="4"
17         android:stretchMode="columnWidth"
18         android:gravity="center"
19         android:horizontalSpacing="30dp"></GridView>
20
21 </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="110dp"
 9         android:layout_height="110dp"
10         android:id="@+id/iv_3"/>
11
12     <TextView
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:id="@+id/tv_9"
16         android:text="介绍"/>
17
18 </LinearLayout>
  1 package com.hanqi.testapp2;
  2
  3 import android.os.Bundle;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.util.Log;
  6 import android.view.View;
  7 import android.view.ViewGroup;
  8 import android.widget.BaseAdapter;
  9 import android.widget.GridView;
 10 import android.widget.ImageView;
 11 import android.widget.TextView;
 12
 13 import java.util.ArrayList;
 14 import java.util.List;
 15
 16 public class TestActivity10 extends AppCompatActivity {
 17
 18     GridView gv_1;
 19
 20     //List<Integer>liv;
 21     List<MyClass>lm;
 22
 23     @Override
 24     protected void onCreate(Bundle savedInstanceState) {
 25         super.onCreate(savedInstanceState);
 26         setContentView(R.layout.activity_test10);
 27
 28         GridView gv_1=(GridView)findViewById(R.id.gv_1);
 29
 30         lm=new ArrayList<>();
 31
 32         MyClass myClass=new MyClass(R.drawable.f1,"美食1");
 33
 34         lm.add(myClass);
 35
 36         //1.得到数据 图片的id
 37 //        liv=new ArrayList<>();
 38 //        liv.add(R.drawable.f1);
 39 //        liv.add(R.drawable.f2);
 40 //        liv.add(R.drawable.f3);
 41 //        liv.add(R.drawable.f4);
 42 //        liv.add(R.drawable.f5);
 43 //        liv.add(R.drawable.f6);
 44 //        liv.add(R.drawable.f7);
 45 //        liv.add(R.drawable.f8);
 46         lm.add(new MyClass(R.drawable.f2,"美食2"));
 47         lm.add(new MyClass(R.drawable.f2,"美食3"));
 48         lm.add(new MyClass(R.drawable.f2,"美食4"));
 49         lm.add(new MyClass(R.drawable.f2,"美食5"));
 50         lm.add(new MyClass(R.drawable.f2,"美食6"));
 51         lm.add(new MyClass(R.drawable.f2,"美食7"));
 52         lm.add(new MyClass(R.drawable.f2,"美食8"));
 53
 54         GridAdapter gridAdapter=new GridAdapter();
 55
 56         gv_1.setAdapter(gridAdapter);
 57
 58
 59         //gv_1.setAdapter(new ImageAdapter());
 60     }
 61
 62     //适配器
 63 //    class ImageAdapter extends BaseAdapter
 64 //    {
 65 //        @Override
 66 //        public int getCount() {
 67 //            return liv.size();
 68 //        }
 69 //
 70 //        @Override
 71 //        public Object getItem(int position) {
 72 //            return liv.get(position);
 73 //        }
 74 //
 75 //        @Override
 76 //        public long getItemId(int position) {
 77 //            return 0;
 78 //        }
 79 //
 80 //        @Override
 81 //        public View getView(int position, View convertView, ViewGroup parent) {
 82 //
 83 //            //1.得到数据 图片的id
 84 //            Integer ivid=liv.get(position);
 85 //
 86 //            //2.准备视图View
 87 //            if (convertView==null) {
 88 //                convertView = new ImageView(TestActivity10.this);
 89 //            }
 90 //
 91 //            //3.适配
 92 //            //转换
 93 //            ImageView imageView=(ImageView)convertView;
 94 //
 95 //            imageView.setImageResource(ivid);
 96 //
 97 ////            imageView.setMaxWidth(70);
 98 ////            imageView.setMaxHeight(70);
 99 //
100 //            imageView.setLayoutParams(new GridView.LayoutParams(110,110));
101 //
102 //            return imageView;
103 //        }
104 //    }
105
106     class MyClass {
107         //img
108         private int img;
109
110         //name
111         private String name;
112
113         public int getImg() {
114             return img;
115         }
116
117         public void setImg(int img) {
118             this.img = img;
119         }
120
121         public String getName() {
122             return name;
123         }
124
125         public void setName(String name) {
126             this.name = name;
127         }
128
129         //直接初始化属性的构造方法
130         public MyClass(int img,String name)
131         {
132             this.img=img;
133             this.name=name;
134         }
135     }
136
137         class GridAdapter extends BaseAdapter
138         {
139             @Override
140             public int getCount() {
141                 return lm.size();
142             }
143
144             @Override
145             public Object getItem(int position) {
146                 return lm.get(position);
147             }
148
149             @Override
150             public long getItemId(int position) {
151                 return 0;
152             }
153
154             @Override
155             public View getView(int position, View convertView, ViewGroup parent) {
156
157
158
159                 MyClass myClass=lm.get(position);
160
161                 if (convertView==null)
162                 {
163                     Log.e("TAG", "适配器 getView" + position);
164
165                 convertView=View.inflate(TestActivity10.this,R.layout.listview_layout,null);
166                 }
167
168                 ImageView imageView=(ImageView)convertView.findViewById(R.id.iv_3);
169                 imageView.setImageResource(myClass.getImg());
170
171                 TextView textView=(TextView)convertView.findViewById(R.id.tv_9);
172                 textView.setText(myClass.getName());
173
174                 return convertView;
175             }
176         }
177 }

时间: 2024-10-21 15:51:03

给图片下加字符的相关文章

代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)

代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到合意的,所以根据网上找的一段代码,进行了较大改动. 需引用 zepto 或 jquery. 我这个是应用于手机上的,两列瀑布流,图片高度未知——等图片的onloaded事件触发后,才对容器进行计算和定位. 大容器是 $("#imgList"),容器格子是$(".pin"

ie6 下图片预加载的问题

1.昨天帮同事看了一个问题 就是 ie6 下 图片预加载图片显示不出来 代码如下 var image = new Image(); image.src = "xx.jpg"; image.onload = function(){ xxxxx } 这样写的问题是 图片缓存的时间 把onload 事件错过了 所以修改一下 var image = new Image(); image.onload = function(){ xxxxx } image.src = "xx.jpg&

JS图片预加载插件

在开发H5项目中有时候会遇到要加载大量图片的情况,利用预加载技术可以提高用户浏览时的体验. 1)概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片.预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染. 2)区别:两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载.懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力. 服务器端区别:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数.预加载可以说是牺牲

Python网络爬虫之图片懒加载技术、selenium和PhantomJS

一.什么是图片懒加载? - 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import etree if __name__ == "__main__": url = 'http://sc.chinaz.com/tupian/gudianmeinvtupian.html' headers = { 'User-Agen

爬虫之图片懒加载技术、selenium和PhantomJS

图片懒加载 selenium phantomJs 谷歌无头浏览器 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import etree if __name__ == "__main__": url = 'http://sc.chinaz.com/tupian/gudianmei

爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器

一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import etree if __name__ == "__main__": url = 'http://sc.chinaz.com/tupian/gudianmeinvtupian.html' headers = { 'User-

爬虫学习 08.Python网络爬虫之图片懒加载技术、selenium和PhantomJS

爬虫学习 08.Python网络爬虫之图片懒加载技术.selenium和PhantomJS 引入 今日概要 图片懒加载 selenium phantomJs 谷歌无头浏览器 知识点回顾 验证码处理流程 今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import

Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)

这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影. 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置. GITHUB上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,下载最新的库文件,并且导入到项目的

闭包,jQuery插件的写法:图片预加载

最近做的一些网页,单个网页图片量都比较大,网络不好的情况下,特别卡,这个图片预加载的方法可以牺牲一些时间换来网页的浏览顺畅,还是值得的. //闭包的写法,它内部的变量都是局部的,不会和外部巳有的变量进行冲突 ( function (通过它来接收对象) { } )( 通过它来传递对象 ); //可以使用jQuery的$符号的闭包插件的写法: //写插件的常用方法 $.extentd() (function ($){ //构造函数 function PreLoad(imgs,options){ th