1
任何人都可以告诉我如何在Android中点击Gallery
中的特定图像时在图库视图底部放大图像?显示在图库视图底部的放大图像,当图库中的特定图像被点击时android
我试过如下做到这一点,但问题是,我的形象在Gallery
越来越显示相同图像的背后:
我的代码是:
package com.HelloGallery;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
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 android.widget.Toast;
public class HelloGallery extends Activity
{
public static Integer[] mImageIds = {
R.drawable.ashtavinayak,
R.drawable.ayadhya,
R.drawable.buddh,
R.drawable.centersoffaith,
R.drawable.chandra,
R.drawable.gajananmaharaj,
R.drawable.guru,
R.drawable.haridwar,
R.drawable.kanchipuram,
R.drawable.kanyakumari,
R.drawable.ketu,
R.drawable.maiher,
R.drawable.mangal,
R.drawable.mathura,
R.drawable.meenakshi,
R.drawable.pandharpur,
R.drawable.rahu,
R.drawable.shabrimalai,
R.drawable.shani,
R.drawable.shirdi,
R.drawable.shukra,
R.drawable.surya,
R.drawable.ujjain,
R.drawable.vaishnodevi,
R.drawable.vindhyavasini,
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery gallery = (Gallery) findViewById(R.id.gallery);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(HelloGallery.this, "" + position, Toast.LENGTH_SHORT).show();
showImage(v, position);
//imageView.setImageResource(mImageIds[0]);
}
});
}
protected void showImage(View v, int position)
{
ImageView imgView = (ImageView)v;
imgView.setImageResource(mImageIds[position]);
imgView.bringToFront();
imgView.setLayoutParams(new Gallery.LayoutParams(150,100));
imgView.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
class ImageAdapter extends BaseAdapter
{
int mGalleryItemBackground;
private Context mContext;
public ImageAdapter(Context c)
{
mContext = c;
TypedArray attr = mContext.obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = attr.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
attr.recycle();
}
public int getCount()
{
return mImageIds.length;
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mImageIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(150,100));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}
}
首先在您的主要线性/相对布局中添加该imageview,然后在showImage函数中使用bringToFront。 – MKJParekh