android-当从grid view中点击时如何显示指定图像?

问题描述

当从grid view中点击时如何显示指定图像?

我使用一个grid view在程序中显示一些图像:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
/>

这是处理图像的代码:

public class Gallery extends Activity {
    Integer[] imageIDs = {
            R.drawable.a,
            R.drawable.b,
            R.drawable.c,
            R.drawable.d,
            R.drawable.e,
            R.drawable.f,
            R.drawable.g,
            R.drawable.k,
            R.drawable.j,
            R.drawable.i,
            R.drawable.h,

    };
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gallery);

        GridView gridView = (GridView) findViewById(R.id.gridview);
        gridView.setAdapter(new ImageAdapter(this));

        gridView.setOnItemClickListener(new OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> parent,
            View v, int position, long id)
            {
                Toast.makeText(getBaseContext(),
                        "pic" + (position + 1) + " selected",
                        Toast.LENGTH_SHORT).show();
            }
        });
    }

    public class ImageAdapter extends BaseAdapter
    {
        private Context context;

        public ImageAdapter(Context c)
        {
            context = c;
        }

        //---returns the number of images---
        public int getCount() {
            return imageIDs.length;
        }

        //---returns the ID of an item---
        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        //---returns an ImageView view---
        public View getView(int position, View convertView, ViewGroup parent)
        {
            ImageView imageView;
            if (convertView == null) {
imageView = new ImageView(context);
                imageView.setLayoutParams(new GridView.LayoutParams(185, 185));
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(5, 5, 5, 5);
            } else {
                imageView = (ImageView) convertView;
            }
            imageView.setImageResource(imageIDs[position]);
            return imageView;
        }
    }
}

当从屏幕上点击时,我想以实际大小来显示指定的图像。如何实现?

解决方案

我之前在新的 activity 中显示图像,是这么实现的:

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    Intent intent = new Intent(Gallery.this, DisplayActivity.class);
    intent.putExtra("Image Int", imageIDs[position]);
    startActivity(intent);
}

在 activity 中使用:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.display);

    int imageInt = getIntent().getIntExtra("Image Int", R.drawable.oops); // oops should be a fallback if an error happens
    ImageView imageView = (ImageView) findViewById(R.id.imageView);
    imageView.setImageResource(imageInt);
}

解决方案二:

点击可以弹出一个Dialog或者Dialog风格的Activity,至于要想显示实际大小,那么你首先得得到image的长和宽。
int width = bitmap.getWidth();
int height = bitmap.getHeight();
然后在你要显示的View去设置imageView.setLayoutParams(new ViewGroup.LayoutParams(width, height));

解决方案三:

你是就想在gridview中放大么,那样效果会不太好如果实现
不如用dialog去显示

时间: 2024-10-24 16:54:20

android-当从grid view中点击时如何显示指定图像?的相关文章

Android编程简单实现ImageView点击时背景图修改的方法_Android

本文实例讲述了Android编程简单实现ImageView点击时背景图修改的方法.分享给大家供大家参考,具体如下: 在使用ImageView时,当被点击时,希望背景图修改一下,这样显示被点击效果明显一些.在这里,一个很简单的方法,最起码是个很清晰的方法.在res/drawable文件夹下创建一个xml文件.比如my.xml,内容如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:an

javascript-div中点击更多按钮显示全部span标签(带换行),再点击收起显示部分span标签

问题描述 div中点击更多按钮显示全部span标签(带换行),再点击收起显示部分span标签 我想实现一个功能是一个div下面很多span标签,刚开始加载页面,显示五个span,然后点击更多,显示全部,每10个换行显示, 更多按钮变成收起,再点收起,回到刚开始的5个span 但是我的代码在点击收起时,一个也不显示了,怎么回事? 我的代码: <body> <div id="showDiv"> <span>1</span> <span&

php-第一次点击时,显示的结果是:点击后2,修改后3,执行后3

问题描述 第一次点击时,显示的结果是:点击后2,修改后3,执行后3 list.php文件 <td>  <a href="show.php?vid=<?php echo $posts['id'];?>"> <?php echo $posts['post_title'] ?> </a> </td> show.php文件 //获取传过来文章ID $id=$_GET['vid']; //根据文章ID来得到文章对象 $sql

如何实现,在地图中显示某一类行业地点,点击时,显示有关属性,同时可以修改相应的属性值呢?

问题描述 如何实现,在地图中显示某一类行业地点,点击时,显示有关属性,同时可以修改相应的属性值呢?

Android中使用自定义View实现下载进度的显示

一般有下载功能的应用都会有这样一个场景,需要一个图标来标识不同的状态.之前在公司的项目中写过一个,今天抽空来整理一下. 一般下载都会有这么几种状态:未开始.等待.正在下载.下载结束,当然有时候会有下载出错的状态.等待状态是指用户点击开始下载,但是线程池中没有空闲的线程来处理该次下载,所以状态为等待. 效果图:     这里我只是演示了一下下载和暂停的状态,其他状态没有演示,在代码中设置就可以了. 实现代码: 1.自定义View 1 public class DownloadPercentView

“PullToRefreshListView 在Android 4.1 (Jelly Bean)中点击没反应”的解决方法

参考:http://blog.sina.com.cn/s/blog_53f7b6e401019pcd.html Android4.1中,PullToRefreshListView点击项目没反应,也不会报错,解决方法就是在 onAttachedToWindow()方法中加入 super.onAttachedToWindow(); @Override  protected void onAttachedToWindow() { super.onAttachedToWindow(); setSele

效果 显示 css jquery-请问如何用css/Jquery实现大的鼠标,以及实现点击表哥高亮度显示

问题描述 请问如何用css/Jquery实现大的鼠标,以及实现点击表哥高亮度显示 最近上面给个任务,要求做一个layout如下图所示 如图所示,点击时要显示这个大的箭头光标,并且点击的那个表格要高亮显示.而原来的表格就像它下面两个,是看上去模糊的,我也不知道这种模糊的效果在网页上是怎么实现的? 盼望园子里的高手不吝赐教,谢谢 解决方案 模糊效果是用滤镜做的...不同浏览器有不同的关键字.. 解决方案二: css就可以..需要注意添加xhtml申明,要不cursor不支持多个候选资源设置 <!DO

listview-android 点击动态添加view组成的listView的item时,显示出问题

问题描述 android 点击动态添加view组成的listView的item时,显示出问题 android listview中的item是动态添加的view, 点击item内的其中一个view时,显示的永远是页面上显示出来的的最后一个item的最后一个view中的值 List carLists = ci.getCarLists(); for (CarModle cm : carLists) { typeSeries = cm.getTypeSeries(); typeName = cm.get

Android实现为ListView同时设置点击时的背景和点击松手之后的背景_Android

本文实例讲述了Android实现为ListView同时设置点击时的背景和点击松手之后的背景.分享给大家供大家参考.具体分析如下: 这里要达到的效果是, (1)点击ListView的item时会有指定的背景, (2)松手之后,刚才点击的item也会有指定的背景 实现(1)很简单:在xml中为ListView设置listSelector即可. 复制代码 代码如下: <ListView  android:id="@+id/pop_listview_left"  android:layo