android的GridView和Gallery

简介:

GridView:

activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<RelativeLayout 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.example.gridview.MainActivity"  >
 
     <GridView 
         android:id= "@+id/gridView1_1"
         android:layout_width= "match_parent"
         android:layout_height= "wrap_content"
         android:numColumns= "auto_fit"
         android:columnWidth= "90dp"
         android:verticalSpacing= "2dp"
         android:horizontalSpacing= "2dp"
         android:stretchMode= "columnWidth"
         android:gravity= "center"
         ></GridView>
</RelativeLayout>

MainActivity

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package  com.example.gridview;
 
import  android.app.Activity;
import  android.content.Context;
import  android.os.Bundle;
import  android.view.Menu;
import  android.view.MenuItem;
import  android.view.View;
import  android.view.ViewGroup;
import  android.widget.BaseAdapter;
import  android.widget.GridView;
import  android.widget.ImageView;
 
public  class  MainActivity  extends  Activity {
     private  GridView gridView;
     
 
     @Override
     protected  void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         gridView=(GridView) findViewById(R.id.gridView1_1);
         MyImageAdapter myImageAdapter= new  MyImageAdapter( this );
         
         gridView.setAdapter(myImageAdapter);
     }
 
     @Override
     public  boolean  onCreateOptionsMenu(Menu menu) {
         // Inflate the menu; this adds items to the action bar if it is present.
         getMenuInflater().inflate(R.menu.main, menu);
         return  true ;
     }
 
     @Override
     public  boolean  onOptionsItemSelected(MenuItem item) {
         // Handle action bar item clicks here. The action bar will
         // automatically handle clicks on the Home/Up button, so long
         // as you specify a parent activity in AndroidManifest.xml.
         int  id = item.getItemId();
         if  (id == R.id.action_settings) {
             return  true ;
         }
         return  super .onOptionsItemSelected(item);
     }
     
     static  class  MyImageAdapter  extends  BaseAdapter{
         private  Context ct;
         //要显示的图片资源
         private  int  [] images={
                 R.drawable.th_seismometer_1,
                 R.drawable.th_skippylite,
                 R.drawable.th_sms_hey_blue,
                 R.drawable.th_ssh,
                 R.drawable.th_things1,
                 R.drawable.th_thisday,
                 R.drawable.th_seismometer_1,
                 R.drawable.th_skippylite,
                 R.drawable.th_sms_hey_blue,
                 R.drawable.th_ssh,
                 R.drawable.th_things1,
                 R.drawable.th_thisday};
         MyImageAdapter(Context ct){
             this .ct=ct;
         }
         @Override
         public  int  getCount() {
             // TODO Auto-generated method stub
             return  images.length;
         }
 
         @Override
         public  Object getItem( int  position) {
             // TODO Auto-generated method stub
             return  position;
         }
 
         @Override
         public  long  getItemId( int  position) {
             // TODO Auto-generated method stub
             return  position;
         }
 
         @Override
         public  View getView( int  position, View convertView, ViewGroup parent) {
             // TODO Auto-generated method stub
             ImageView imageView;
             if (convertView== null ){
                 imageView= new  ImageView(ct);
                 //设置图片的宽和高
                 imageView.setLayoutParams( new  GridView.LayoutParams( 85 85 ));
                 //设置拉伸或截取方式
                 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                 imageView.setPadding( 8 8 8 8 );
                 
             } else {
                 imageView=(ImageView)convertView;
             }
             imageView.setImageResource(images[position]);
             return  imageView;
         }
         
     }
}



Gallery:

activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<RelativeLayout 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.example.gallery.MainActivity"  >
 
    
 
     <Gallery
         android:id= "@+id/gallery1_1"
         android:layout_width= "match_parent"
         android:layout_height= "wrap_content"
         android:layout_marginLeft= "60dp"
         android:layout_marginTop= "60dp"
        >
         
     </Gallery>
 
</RelativeLayout>

MainActivity

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package  com.example.gallery;
 
 
 
import  android.app.Activity;
import  android.os.Bundle;
import  android.view.Menu;
import  android.view.MenuItem;
import  android.view.View;
import  android.view.ViewGroup;
import  android.widget.BaseAdapter;
import  android.widget.Gallery;
import  android.widget.ImageView;
 
public  class  MainActivity  extends  Activity {
     private  Gallery gallery;
 
     @Override
     protected  void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         gallery=(Gallery) findViewById(R.id.gallery1_1);
         MyGalleryAdapter myGalleryAdapter= new  MyGalleryAdapter();
         gallery.setAdapter(myGalleryAdapter);
         
     }
 
     @Override
     public  boolean  onCreateOptionsMenu(Menu menu) {
         // Inflate the menu; this adds items to the action bar if it is present.
         getMenuInflater().inflate(R.menu.main, menu);
         return  true ;
     }
 
     @Override
     public  boolean  onOptionsItemSelected(MenuItem item) {
         // Handle action bar item clicks here. The action bar will
         // automatically handle clicks on the Home/Up button, so long
         // as you specify a parent activity in AndroidManifest.xml.
         int  id = item.getItemId();
         if  (id == R.id.action_settings) {
             return  true ;
         }
         return  super .onOptionsItemSelected(item);
     }
     
     
     class  MyGalleryAdapter  extends  BaseAdapter{
         private  int  [] images={
                 R.drawable.th_seismometer_1,
                 R.drawable.th_skippylite,
                 R.drawable.th_sms_hey_blue,
                 R.drawable.th_ssh,
                 R.drawable.th_things1,
                 R.drawable.th_thisday,
                 R.drawable.th_seismometer_1,
                 R.drawable.th_skippylite,
                 R.drawable.th_sms_hey_blue,
                 R.drawable.th_ssh,
                 R.drawable.th_things1,
                 R.drawable.th_thisday};
         @Override
         public  int  getCount() {
             // TODO Auto-generated method stub
             return  images.length;
         }
 
         @Override
         public  Object getItem( int  position) {
             // TODO Auto-generated method stub
             return  position;
         }
 
         @Override
         public  long  getItemId( int  position) {
             // TODO Auto-generated method stub
             return  position;
         }
 
         @Override
         public  View getView( int  position, View convertView, ViewGroup parent) {
             // TODO Auto-generated method stub
             ImageView imageView;
             if (convertView== null ){
                 imageView= new  ImageView(MainActivity. this );
                 
             } else {
                 imageView=(ImageView)convertView;
             }
             imageView.setImageResource(images[position]);
             return  imageView;
         }
         
     }
}

wKiom1hQ7uLC1OHjAAFiUMGNV4k443.png-wh_50

wKiom1hQ7uLTRWZ9AAGMIxDxHgU103.png-wh_50



 本文转自 matengbing 51CTO博客,原文链接:http://blog.51cto.com/matengbing/1882650

相关文章
|
10月前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
63 2
|
9月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
108 2
|
9月前
|
前端开发 API Android开发
26. 【Android教程】网格视图 GridView
26. 【Android教程】网格视图 GridView
117 2
|
10月前
|
XML Java Android开发
Android 分享机顶盒项目的封装类《GridView》(三)(转)
Android 分享机顶盒项目的封装类《GridView》(三)(转)
67 2
|
10月前
|
Android开发
Android教程之Android 用户界面-表格视图(GridView)
Android教程之Android 用户界面-表格视图(GridView)
71 1
|
Android开发
解决安卓GridView的横向滚动问题
解决安卓GridView的横向滚动问题
176 0
|
Android开发
安卓GridView的简单使用
安卓GridView的简单使用
205 0
|
Android开发
Android自定义ListView和GridView解决滑动冲突和显示不全
Android自定义ListView和GridView解决滑动冲突和显示不全
186 0
|
Android开发
Android Coverflow Gallery 的关键源码解析【Android】【OpenGL】
Android Coverflow Gallery 的关键源码解析【Android】【OpenGL】
112 0
Android Coverflow Gallery 的关键源码解析【Android】【OpenGL】
|
Android开发
Android: 解决GridView、ListView在ScrollView中出现冲突的问题
Android: 解决GridView、ListView在ScrollView中出现冲突的问题
369 0

热门文章

最新文章

  • 1
    Android历史版本与APK文件结构
  • 2
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 4
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 6
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 7
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
  • 8
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
  • 9
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
  • 10
    Android实战经验之Kotlin中快速实现MVI架构
  • 1
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
    56
  • 2
    android FragmentManager 删除所有Fragment 重建
    25
  • 3
    Android实战经验之Kotlin中快速实现MVI架构
    39
  • 4
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
    40
  • 5
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
    44
  • 6
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    155
  • 7
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    52
  • 8
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    67
  • 9
    Android历史版本与APK文件结构
    170
  • 10
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    54