2017-09-06 5 views
0

ViewPager와 TextView가있는 ScrollView가있는 곳에서 Android 활동을 만들고 있습니다. ViewPager의 페이지는 단일 ImageView가있는 조각입니다. 글라이드를 사용하여 ImageView에 이미지를로드합니다.ViewPager 및 Glide가있는 Android 포토 앨범

이미지의 너비를 유지하면서 화면의 가로 및 세로 크기를 채우고 싶습니다. 문제는 거기에

<android.support.v4.view.ViewPager 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 

이 작동하지 않을 것입니다. 이미지의 높이는 항상 0입니다.

차선책을 찾았습니다 : https://stackoverflow.com/a/19505733/4420321. 문제는 높이를 정확하게 조정하기 위해 이미지의 정확한 비율을 알아야한다는 것입니다.

지금은 800x600 이미지로 작동하지만 다른 이미지에서는 작동하지 않습니다. 어떤 비율로도 작동시킬 수있는 방법이 있습니까? 아니면이 문제에 대한 더 나은 해결책이 있습니까?

enter image description here

답변

0

이것은 원 화상의 종횡비에 따라 화면의 폭 및 높이를 채우기 위해 이미지를 만들 것이다. 이 방법을 사용하려면 화면 비율을 하드 코딩해야합니다.

Display display = getWindowManager().getDefaultDisplay(); 
ImageView imageView = (LinearLayout) findViewById(R.id.imageView); 
int width = display.getWidth(); 
int height = (int) width * 0.75; // 0.75 if image aspect ration is 4:3, change accordingly 
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, height); 

나는 이것이 당신의 문제를 해결할 것이라고 생각합니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 이것은 정확하게 현재의 해결책입니다. 내가 종횡비를 harcdcode해야하지만, 만약 내가 그것을 모르는 경우 또는 다른 비율로 여러 이미지가 무엇입니까? 예를 들어 나는 3 개의 800x600 이미지 세트와 3 개의 1920x1080 이미지 세트가 있습니다. – hashtagslam