• 用gallery展示图片,实现中间图片稍大,两边较小的效果


    实现原理:在onItemSelected事件中,选中galerry中的图片时,把选中的图片放大,把没有选中的缩小。
    以下是关键代码
     1     public void onItemSelected(AdapterView<?> parent, View view, int position,
     2             long id) {
     3         // 选中Gallery中某个图像时,放大显示该图像
     4         ImageView imageview = (ImageView)view;
     5         ((ImageView) view).setImageDrawable((Drawable) product_image_list.get(position));
     6         view.setLayoutParams(new Gallery.LayoutParams(520 / 2, 318 / 2));
     7         title.setText((String)product_title.get(position));
     8         info.setText((String)product_info.get(position));
     9         for(int i=0; i<parent.getChildCount();i++){
    10             //缩小选中图片旁边的图片
    11             ImageView local_imageview = (ImageView)parent.getChildAt(i);
    12             if(local_imageview!=imageview){
    13                 local_imageview.setLayoutParams(new Gallery.LayoutParams(520/4, 318/4));
    14                 local_imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
    15             }
    16         }
    17     }
    18     
    19     public void onNothingSelected(AdapterView<?> parent)
    20     {
    21     }
    22     
    23     public class ImageAdapter extends BaseAdapter
    24     {
    25         int mGalleryItemBackground;
    26         private Context mContext;
    27 
    28         public ImageAdapter(Context context)
    29         {
    30             mContext = context;
    31 //            TypedArray typedArray = obtainStyledAttributes(R.styleable.Gallery);
    32 //            mGalleryItemBackground = typedArray.getResourceId(
    33 //                    R.styleable.Gallery_android_galleryItemBackground, 0);                        
    34         }
    35         
    36         public int getCount()
    37         {
    38             return product_image_list.size();
    39         }
    40 
    41         public Object getItem(int position)
    42         {
    43             return position;
    44         }
    45 
    46         public long getItemId(int position)
    47         {
    48             return position;
    49         }
    50  
    51         public View getView(int position, View convertView, ViewGroup parent)
    52         {
    53             ImageView imageView = new ImageView(mContext);
    54             imageView.setLayoutParams(new Gallery.LayoutParams(520/4, 318/4));//默认都是大图
    55             imageView.setImageDrawable((Drawable) product_image_list.get(position));
    56             imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
    57             return imageView;
    58         }
    59     }
  • 相关阅读:
    分享我的2014年3月unity3d面试题与参考答案(转)
    Unity3D 面试ABC
    MiniJson解释Json字符串
    Unity3D研究之支持中文与本地文件的读取写入(转)
    unity3d--NGUI制作中文字体
    吊炸天之十步完全理解SQL
    mysql主从同步碰到的问题
    Redis 安装碰到问题
    在Centos系统下使用命令安装gnome图形界面程序
    centos7 网络问题
  • 原文地址:https://www.cnblogs.com/ProgramBull/p/2339727.html
Copyright © 2020-2023  润新知