[英]How to calculate image size for different devices dpi
我有一個帶有圖像的列表視圖布局
看起來像這樣
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="240dp"
android:adjustViewBounds="true"
android:id="@+id/listview_item_imageView"
android:layout_gravity="center_horizontal|top" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FAC308"
android:id="@+id/listview_item_title"
android:text="TITLE"
android:textSize="20sp"
android:paddingBottom="40dp"
android:layout_centerInParent="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:id="@+id/listview_item_subtitle"
android:paddingTop="40dp"
android:text="SUBTITLE"
android:textSize="20sp"
android:layout_centerInParent="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/orangeSeparator"
android:src="@drawable/orangeseparator"
android:layout_centerInParent="true" />
如果我在720x1280 240dpi的設備上運行它,則看起來像這樣
如果我在720x1280 320dpi的設備上運行它,則它看起來像這樣
我從互聯網上獲取圖像,所以我無法准備不同的版本。
如何使其在所有設備上看起來相似?
在你的容器里
android:layout_height =“ match_parent”
並在圖片中:
android:layout_height =“ 240dp”
您必須使容器具有相同的高度或'wrap_content'才能沒有這些間隙。
您還可以添加到imageview中:
android:scaleType="centerCrop"
另一件事是,您可以使用特定的庫來處理網絡映像的加載。
你可以看這篇文章。 使您的應用程序支持不同的dpi版本和不同的屏幕類型: 支持不同的屏幕
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.