认识使用GalleryImage

本文介绍了一个简单的GalleryImage应用开发过程,该应用通过Gallery组件展示一系列图片,并实现了点击图片时背景随之变化的功能。主要涉及Android环境下自定义适配器、设置图片资源及监听点击事件等关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

 

制作如图所示GallerImage应用,当点击图片时,后面的背景也跟随变化

源码:

ImageAdapter.java

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter{
 private Context mContext;
 Integer[] Mimages={R.drawable.img1,R.drawable.img2,R.drawable.img5,R.drawable.img6,R.drawable.img7};
public ImageAdapter(Context c) {
  // TODO Auto-generated constructor stub
 mContext=c;
 }

@Override
public int getCount() {
 // TODO Auto-generated method stub
 return Mimages.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=new ImageView(mContext);
 imageview.setImageResource(Mimages[position]);
 imageview.setLayoutParams(new Gallery.LayoutParams(120, 120));
 imageview.setScaleType(ImageView.ScaleType.FIT_END);
 return imageview;
}

}

mainActivity.java

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import cn.wang.galleryimage.*;
public class MainActivity extends Activity {
 ImageAdapter i=new ImageAdapter(this);

 
 //protected static final int[] Mimages = {};

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  final Gallery g=(Gallery) findViewById(R.id.ga1);
  g.setAdapter(new ImageAdapter(this));
  g.setBackgroundResource(R.drawable.img5);
  g.setOnItemClickListener(new OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View v, int position,
     long id) {
    // TODO Auto-generated method stub
    g.setBackgroundResource(i.Mimages[position]);
    
   }
  });
 }

 @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;
 }
}

activity_main.xml

<Gallery
        android:id="@+id/ga1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="53dp" />

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值