마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

특정 디바이스에서 특정 이미지뷰의 크기가 다른 디바이스보다 작아질수 있나요 ? [closed]

0 추천
화면 비율에 맞춰서 이미지 크기를 변환하는 방식으로 크기를 맞춰주고있는데

한 이미지뷰만 다른 디바이스보다 작게 나오네요 .

코드상 애러라고 할부분도 없고 크기지정 하는 부분이 한줄이라

이상증상을 나타내는 기기는 S5 기종이고 이유를 도저히 모르겠습니다.

다른 이미지뷰 비율도 다르면 이해가 가는데 특정 이미지뷰만 크기가 작아져있으니까 도무지 문제점을 찾지 못하겠습니다.

 

혹시 특정디바이스에서 이런현상이 나타날 수도 있는건가요 ? ㅠ
질문을 종료한 이유: 다른코드에서는 이상이없어서 계속 왜 이러지 하다 .. android:minSdkVersion="2" 이부분을 수정하면 해상도에 영향을 끼치네요 ;; 불안하지만 해결했습니다.
CJ여비 (5,730 포인트) 님이 2015년 1월 28일 질문
CJ여비님이 2015년 1월 29일 closed
화면비율을 맞추는 쪽 소스를 함 올려보셔요
답변감사드립니다. nicehee님
//해상도 변수선언.
        private  DisplayMetrics metrics=null;           
        public  float Display_Width=0;    //충돌이나 차후 해상도 에서 처리 할 중요한 변수
        public  float Display_Height=0;   //충돌이나 차후 해상도 에서 처리 할 중요한 변수
        private  float Width_rate=0;        //고정 값
        private  float Height_rate=0;        //고정값
        public  float Draw_rate=0;        //비율값.
   
    public Display_Set(Context context,float Resolution_Width,float Resolution_Height) {
        // TODO Auto-generated constructor stub
   
   
                  metrics = new DisplayMetrics();    //화면정보 메트릭스 초기화
                ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(metrics);    //최종적 화면정보 가저옴.
                Display_Width=metrics.widthPixels;    // 해상도 픽셀
                Display_Height=metrics.heightPixels;    // 해상도 픽셀
                Width_rate =Display_Width/Resolution_Width;        //디바이스 가로 크기 1136 고정
                Height_rate=Display_Height/Resolution_Height;        //디바이스 세로 크기 640f 로 고정
                
                if(Width_rate>Height_rate)
                {
                    Draw_rate=Height_rate;    //화면 비율 .
                    System.out.println("높이");
                }
                else
                {
                    Draw_rate=Width_rate;    //화면 비율 .
                    System.out.println("넓이");
                }
                System.out.println("비율: "+Draw_rate);

       
    }
    public float getDraw_rate()
    {
        return Draw_rate;
    }
   
    public void Image_ReSize(ImageView img,int width,int height)        //이미지 크기 리사이즈
    {
       
        LayoutParams params=null;
       
        params=(LayoutParams)img.getLayoutParams();
        params.width=(int)(width*Draw_rate);
        params.height=(int)(height*Draw_rate);
   
        img.setLayoutParams(params);
    }

이런식으로 비율을 맞춰서 이미지 리사이즈 를 시키는데 아 그리고 크기가 변하지 않는 이미지가 갤러리를 상속받은 커버플로우 속 이미지 들입니다.ㅜ
크기 지정은 getView에서
 imageView.setLayoutParams(new Gallery.LayoutParams(350*Draw_rate , 440*Draw_rate)); 이런식으로 지정했는데 크기는 변하는데 특정디바이스에 크기가 작아져있습니다.
...