缩放图片在尺寸为480 x 800像素/ 4.0英寸的屏幕上不起作用

时间:2015-08-26 11:42:43

标签: android image-zoom

此方法适用于更高版本的Android手机,但相同的代码不适用于旧版手机。

当我从顶部拖动图像时,我将覆盖scrollview类,滚动值变为负值,图像缩放功能正常。

@Override
public void BounceOverScrolled(int scrollX, int scrollY, boolean clampedX,
boolean clampedY) {
    int currentItem = bigProductPic.getCurrentItem();
    try {
        int tempHeight = (int) (bigPicHeight - scrollY);
        RelativeLayout item = (RelativeLayout) bigProductPic.findViewWithTag("myview" + currentItem);
        if(item != null){
            ImageView imgView = (ImageView) item.findViewById(R.id.img);
            Drawable img = imgView.getDrawable();
            int rightBound = (int)(bigPicHeight - tempHeight)/2;


            Log.d("Bounds Before", img.getBounds().flattenToString());
            img.setBounds(rightBound,0,tempHeight+rightBound,tempHeight);
            Log.d("Bounds After", img.getBounds().flattenToString());

            Log.d("Height Before", imgView.getLayoutParams().height+"");
            imgView.getLayoutParams().height = tempHeight;
            Log.d("Height After", imgView.getLayoutParams().height+"");

            imgView.setImageDrawable(img);
            bigProductPic.setY(scrollY);
            Log.d("Product Height Before", bigProductPic.getLayoutParams().height+"");
            bigProductPic.getLayoutParams().height = tempHeight;
            Log.d("Product Height After", bigProductPic.getLayoutParams().height+"");
        }
    } catch (Exception e) {
        Log.v("Error in expanding", e.toString());
    }
}

1 个答案:

答案 0 :(得分:0)

您必须在旧手机上查看Android API。如果它低于您用于该程序的SDK,则可能会导致问题。

只需为旧设备下载合适的Android SDK,然后相应地采用您的代码。 (您可以在Android SDK Manager中下载所有内容)

之后您可能需要重写代码,因为较旧版本的Android很可能不支持您的缩放方式。