给图片下加字符

 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 }

原文地址:https://www.cnblogs.com/cycanfly/p/5514114.html