2017-04-11 64 views
0

我在屏幕上旋轉圖像時總是出現問題,我總是在相同的軸心點上旋轉,我知道這是(0,0),這就是我想要的實現它:ImageView.setPivot屬性不響應數據

private Evidence setVehiclePosition (String sCombination, PointF startPoint, 
PointF endPoint, int position, final Evidence myEvidence) { 
    myEvidence.geteImage().setOnTouchListener(this); 

    imgViewSelected.setPivotX(imgViewSelected.getWidth()); 
    imgViewSelected.setPivotY(imgViewSelected.getHeight()); 
    double angle = MyTrigonometry.angleTwoVectors(startPoint, endPoint); 
    PointF imageLocation = null; 

    switch (sCombination){ 

     case "C1": 
      //angle += 180; 
      break; 
     case "C2": 
      angle += 90; 
      break; 
     case "C3": 
      break; 
     case "C4": 
      //angle += 270; 
      break; 
    } 

    imgViewSelected.setRotation((int) angle); 
    imageLocation = 
MyConvert.MtsToPixs(MyTrigonometry.getCornerrPoint(startPoint, endPoint, 
MyConvert.PixsToMts(myEvidence.geteImage().getHeight()))); 

    imgViewSelected.setTranslationX((imageLocation.x + 
MyConvert.getOffset().x));                  
    imgViewSelected.setTranslationY(MyConvert.getScreenResolution().y - ((imageLocation.y) + MyConvert.getOffset().y)); 
} 

不管什麼我把setPivot(東西),它只是保持在這個問題上旋轉過同樣的觀點,任何提示裏面?

enter image description here

期望的結果:

enter image description here

回答

0

缺省情況下的圖的樞轉點是中心,即(width/2, height/2)。 此外,它不是您旋轉的圖像,而是視圖,這意味着如果圖像未在視圖中完全縮放,則會出現奇怪的行爲。

要達到什麼樣的你正在嘗試做的,你需要設置座標(0, height)樞軸點,並在傳遞的角度對setRotation方法旋轉視圖。並嘗試使用臨時文件scaleType=fitXY來查看旋轉時視圖中圖像真的發生了什麼。

希望它有幫助!