Android中实现Gallery 点击放大

图片放大的思路:
  第一、可以通过Matrix对象来变换图像,在选择的时候放大,在失去焦点的时候,缩小到原来的大小。

  double scale = 1.2;  int width = bm.getWidth();  int height = bm.getHeight();  Log.i("size:", width+"");  float scaleWidth = (float)(scale*width);  float scaleHeight = (float)(scale*height);  Log.i("size:", scaleWidth+"");  Matrix matrix = new Matrix();  matrix.postScale(scaleWidth, scaleHeight);  bm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);


第二 、通过动画

  <?xml version="1.0" encoding="utf-8"?>  <scale  xmlns:android="http://schemas.android.com/apk/res/android"  android:interpolator="@android:anim/decelerate_interpolator"  android:fromXScale="1"  android:toXScale="1.1"  android:fromYScale="1"  android:toYScale="1.1"  android:pivotX="50%"  android:pivotY="50%"  android:duration="500">  </scale>

第三、通过setLayoutParams

  view.setLayoutParams(new Gallery.LayoutParams(150,150));  int mCounts = g.getCount() - 1;  if(position>0 && (position < mCounts)){  g.getChildAt(position - 1).setLayoutParams(new Gallery.LayoutParams(136, 88));  g.getChildAt(position + 1).setLayoutParams(new Gallery.LayoutParams(136, 88));  }  if(position == 0){  g.getChildAt(position + 1).setLayoutParams(new Gallery.LayoutParams(136, 88));  }  if(position == mCounts){  g.getChildAt(position - 1).setLayoutParams(new Gallery.LayoutParams(136, 88));  }

第四 、通过动画和LayoutParam结合

  gallery.setOnItemSelectedListener(new OnItemSelectedListener(){  @Override  public  void onItemSelected(AdapterView<?> arg0, View arg1,  int arg2, long arg3) {  ImageView v = (ImageView)arg1;  if(tempView != null && v.hashCode() != tempView.hashCode()){  tempView.setLayoutParams(new Gallery.LayoutParams(50,50));  }  v.startAnimation(toLarge);  tempView = v;  v.setLayoutParams(new Gallery.LayoutParams(60,60));  //  //v.setLayoutParams(new Gallery.LayoutParams(130,130));  tvName.setText(tempList.get(arg2).getPicName());  }  @Override  public  void onNothingSelected(AdapterView<?> arg0) {  tvName.setText("Nothing selected .");  }  });



来自:http://www.eoeandroid.com/code/2012/0315/945.html

更多相关文章

  1. Android(安卓)Activity界面切换添加动画特效
  2. android实现字体闪烁动画的方法
  3. Android:interpolator用法
  4. Android调用.NET Webservice报org.ksoap2.serialization.SoapPri
  5. 创建android逐帧动画的两种方式
  6. Android(安卓)Activity界面切换添加动画特效
  7. android dialog 动画
  8. Android(安卓)属性动画(Property Animation) 完全解析 (下)
  9. Android(安卓)后台任务(五)Service

随机推荐

  1. android:shape的使用
  2. Android的onCreateOptionsMenu()创建菜单
  3. Android(安卓)开发技术周报 Issue#275
  4. Android牟利之道(一)--界面嵌入有米广告
  5. Android(安卓)Fragment 生命周期及回调方
  6. android 动画
  7. 申请 android google map API key
  8. 关于Google Android,第一印象
  9. [ubuntu][android][adb]no permissions (
  10. [转CSDN]android 滑动入门代码...[geoway