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(8585));
                //设置拉伸或截取方式
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(8888);
                 
            }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;
        }
         
    }
}

android的GridView和Gallery

android的GridView和Gallery



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

相关文章: