zxin android客戶端二維碼框問題

可以在這找到解決方式:


http://stackoverflow.com/questions/26797321/not-able-to-convert-zxing-into-portrait-mode-in-android


重要的第二步

2 I在 CameraManager 類, 方法getFramingRect 替換


int width = MIN_FRAME_WIDTH; int height = MIN_FRAME_HEIGHT;
if (context.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {
   int tmp = 7 * screenResolution.x / 8; 
   width = (tmp) < MIN_FRAME_WIDTH ? MIN_FRAME_WIDTH : (tmp);                   
   tmp = 1 * screenResolution.y / 3;
   height = (tmp) < MIN_FRAME_WIDTH ? MIN_FRAME_WIDTH : ((tmp) > MAX_FRAME_HEIGHT ?  MAX_FRAME_HEIGHT : (tmp));
   }else{
   // 原始代碼
   width = findDesiredDimensionInRange(screenResolution.x, MIN_FRAME_WIDTH, > MAX_FRAME_WIDTH);
   height = findDesiredDimensionInRange(screenResolution.y, MIN_FRAME_HEIGHT,  MAX_FRAME_HEIGHT); }

正確顯示掃描框。


老版本沒有

findDesiredDimensionInRange

這個方法

加上


 private static int findDesiredDimensionInRange(int resolution, int hardMin, int hardMax) {

   int dim = 5 * resolution / 8; // Target 5/8 of each dimension

   if (dim < hardMin) {

     return hardMin;

   }

   if (dim > hardMax) {

     return hardMax;

   }

   return dim;

 }




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章