android的GridView和Gallery

发布时间:2020-04-10 18:48:34 作者:matengbing
来源:网络 阅读:362

GridView:

activity_main.xml

<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

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 [] p_w_picpaths={
				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 p_w_picpaths.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 p_w_picpathView;
			if(convertView==null){
				p_w_picpathView=new ImageView(ct);
				//设置图片的宽和高
				p_w_picpathView.setLayoutParams(new GridView.LayoutParams(85, 85));
				//设置拉伸或截取方式
				p_w_picpathView.setScaleType(ImageView.ScaleType.CENTER_CROP);
				p_w_picpathView.setPadding(8, 8, 8, 8);
				
			}else{
				p_w_picpathView=(ImageView)convertView;
			}
			p_w_picpathView.setImageResource(p_w_picpaths[position]);
			return p_w_picpathView;
		}
		
	}
}



Gallery:

activity_main.xml

<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

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 [] p_w_picpaths={
				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 p_w_picpaths.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 p_w_picpathView;
			if(convertView==null){
				p_w_picpathView=new ImageView(MainActivity.this);
				
			}else{
				p_w_picpathView=(ImageView)convertView;
			}
			p_w_picpathView.setImageResource(p_w_picpaths[position]);
			return p_w_picpathView;
		}
		
	}
}

android的GridView和Gallery

android的GridView和Gallery


推荐阅读:
  1. Android中如何使用GridView 属性
  2. Android 的gallery控件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

gridview android gallery

上一篇:linux的LAMP架构介绍及mysql安装

下一篇:C语言之枚举

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》