Pracowałem z camera2 api demo from google i niestety przykładowa aplikacja została stworzona do wyświetlania podglądu tekstury na około 70% wysokości ekranu, po rozejrzeniu się udało mi się ustalić, że był spowodowany AutoFitTextureView przesłanianie metody onMeasure()
jak pokazano poniżej:Podgląd pełnego ekranu z Androidem z poprawnym współczynnikiem proporcji
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
if (0 == mRatioWidth || 0 == mRatioHeight) {
setMeasuredDimension(width, height);
} else {
if (width < height * mRatioWidth/mRatioHeight) {
setMeasuredDimension(width, width * mRatioHeight/mRatioWidth);
} else {
setMeasuredDimension(height * mRatioWidth/mRatioHeight, height);
}
}
}
próbowałem skorygować poprzez ustawienie prawidłowych wysokościach i szerokościach w setMeasuredDimension(width, height);
, aby to naprawić problem wysokość i dał mi podgląd pełnoekranowy z textureview, jednak współczynnik proporcji jest całkowicie zepsuty i wypaczony na każdym urządzeniu, co jest standardem d sposób ustalenia tego? Widzę, że wiele aplikacji w sklepie Play znalazło sposób na rozwiązanie tego problemu, ale nie udało się znaleźć rozwiązania, każda pomoc będzie długa, dzięki.
Hej, znalazłeś jakieś rozwiązanie? w obliczu tego samego problemu .. proszę o pomoc. – iMDroid
Odpowiedź zaktualizowana poniżej –