[英]How to create background images for multiple screen sizes and densities
我目前正在開發一個可以在不同智能手機上運行的應用程序,我們的背景圖像將出現在應用程序的所有活動中。
目前所有的父布局都是ConstraintLayout,背景圖片設置在一個覆蓋整個屏幕的ImageView中。 但是,在某些屏幕尺寸上,在 fitCenter 上設置fitCenter
根本不起作用,因為:
我知道我可以運行不同的 scaleType,但這可能會破壞背景圖像的原始縱橫比。
有這方面的設計規則嗎?
我看過 ,但我只從 Android Dev 的網站上找到了這個。 它記錄了大部分屏幕尺寸,但沒有記錄縱橫比。
go 關於這個的最佳方法是什么?
我們是否應該為每個屏幕密度中的最大尺寸制作一個,並只希望相同屏幕密度范圍內的相同屏幕正確縮放它? 還是每個維度只有一個? 還是每個縱橫比只有一個?
我通常使用 ConstraintLayout 來保持圖像比例
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintGuide_percent="0.5"
android:orientation="vertical"/>
<ImageView
android:id="@+id/img_poster"
android:layout_width="0dp"
android:layout_height="0dp"
android:scaleType="centerCrop"
app:layout_constraintDimensionRatio="3:4"
app:layout_constraintEnd_toEndOf="@id/guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
只要圖像比例為3:4,它就不會裁剪實際圖像
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.