布局特别之处:

//与上一控件底部的距离

android:layout_marginTop="10dp"

代码阶段分析:

//返回可画的视图,并用向下转型为Bitmap的可画视图

BitmapDrawable bitmapDrawable = (BitmapDrawable) image1.getDrawable();

//如果图片还未回收,先强制回收该图片

if (!bitmapDrawable.getBitmap().isRecycled())
{
bitmapDrawable.getBitmap().recycle();
}

//改变ImageView显示的图片
image1.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[++currentImg]));

//截取原来的图片进行显示

1.使用setOnTouchListener监听

2.获得屏幕的宽,用于第三步的取得实际比例

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println(dm.widthPixels);

3.获得bitmap图片实际大小与第一个ImageView的缩放比例

double scale = bitmap.getWidth() /dm.widthPixels;

4.获取需要显示的图片的开始点

int x = (int) (event.getX() * scale);
int y = (int) (event.getY() * scale);

5.算法规定开始点加上显示区域不能大于图片区域

if (x + 120 > bitmap.getWidth())
{
x = bitmap.getWidth() - 120;
}
if (y + 120 > bitmap.getHeight())
{
y = bitmap.getHeight() - 120;
}

6.显示图片的指定区域
image2.setImageBitmap(Bitmap.createBitmap(bitmap, x, y, 120, 120));

更多相关文章

  1. PreferenceActivity 全接触
  2. Android之PullToRefresh(ListView 、GridView 、WebView)使用详
  3. 一个Activity的显示过程总结(二)
  4. Android中关于退出和Toast的引用
  5. Android(安卓)自定义弹窗 Dialog
  6. Android(安卓)ActionBar详解
  7. android中打开相机、打开相册进行图片的获取示例
  8. android service中显示一个dialog
  9. 教你搞定Android自定义ViewGroup

随机推荐

  1. Android(安卓)图片旋转(使用Matrix.setRot
  2. Android(安卓)Wi-Fi Disable Roaming in
  3. Android屏幕休眠禁止或清除
  4. Android根据电量变化为不同图片的方法【
  5. android文件存取
  6. android EditText 监听复制粘贴等操作
  7. Android之Style
  8. Android——通过电话号码获得联系人图像
  9. How to construct a Android(安卓)projec
  10. Android(安卓)R