Trong build.gradle bạn add:
compile 'com.android.support:percent:23.1.1'
và bạn Layout.xmlbọc bất cứ điều gì xem hoặc ViewGroup bạn muốn đi theo một tỷ lệ bên trong một PercentFrameLayout nơi:
android:layout_width="match_parent"
android:layout_height="wrap_content"
và sau đó để xem hoặc ViewGroup bạn muốn đi theo một tỷ lệ thayandroid: layout_width và android: layout_height:
app:layout_aspectRatio="178%"
app:layout_widthPercent="100%"
và bạn có một cái nhìn hoặc ViewGroup nơi tỉ lệ khung hình là 16: 9 (1,78: 1) với chiều rộng phù hợp với phụ huynh và chiều cao được điều chỉnh cho phù hợp.
Lưu ý: Điều quan trọng là bạn phải loại bỏ các thuộc tính chiều rộng và chiều cao bình thường. Lint sẽ phàn nàn, nhưng nó sẽ hoạt động.
Nguồn
2016-02-10 11:58:14
sử dụng wrap_content. Nó có cùng chiều rộng và chiều dài mà khung nhìn có. –
trùng lặp có thể có của [Điền không gian còn lại với tỷ lệ khung hình cố định surfaceview] (http://stackoverflow.com/questions/10510371/fill-remaining-space-with-fixed-aspect-ratio-surfaceview) – Tim
Tôi đã đấu tranh với chính bản thân mình cho một thời gian, và cuối cùng tôi quyết định tôi phải ghi đè lên onMeasure của khung nhìn mà tôi muốn hạn chế và thiết lập kích thước theo chương trình. Xem bản sao được liên kết. – Tim