簡體   English   中英

如何為多種屏幕尺寸和密度創建背景圖像

[英]How to create background images for multiple screen sizes and densities

我目前正在開發一個可以在不同智能手機上運行的應用程序,我們的背景圖像將出現在應用程序的所有活動中。

目前所有的父布局都是ConstraintLayout,背景圖片設置在一個覆蓋整個屏幕的ImageView中。 但是,在某些屏幕尺寸上,在 fitCenter 上設置fitCenter根本不起作用,因為:

  1. 屏幕可能太寬,兩側有白條。
  2. 屏幕可能太窄,背景圖像的左側和右側的一部分會被切掉。

我知道我可以運行不同的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM