일단 vertical형식으로 짜신걸 보니, width는 무조건 부모크기[꽉차게]인거같고,
height가 말썽인거같은데.. 주어진 비율대로 이미지가 나오는게 아니라,
이미크기에 맞춰서 자식 레이아웃이 변형된게 아닌가 싶어요.
리니어레이아웃에 가중치를 줘도 height가 wrap_content이면 그런 현상이 발생할 수 있습니다.
이미지나 텍스트 등을 넣을 자식 리니어 레이아웃의 높이를 wrap_content가 아닌 0dp 등으로 해보셔요.
wrap_content로 하면 삽입되는 이미지 크기에 맞춰서 높이가 달라질수있습니다..
리니어 레이아웃 예제가 많으니 함 찾아보시는걸 추천해요