我有一个带图像的列表视图布局
看起来像这样
<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的设备上运行它,它看起来像这样
我从互联网上获取图像,因此我无法准备不同的版本。
如何让它在所有设备上看起来相似?
答案 0 :(得分:0)
在您的容器中
机器人:layout_height = “match_parent”
并在图片中:
机器人:layout_height = “240dp”
您的容器必须具有相同的高度或“wrap_content”,否则不会有这些空白。
您还可以添加到imageview:
android:scaleType="centerCrop"
另一件事是你可以使用特定的库来处理网络图像的加载。
答案 1 :(得分:0)
答案 2 :(得分:0)
你可以看一下这篇文章。使您的应用支持不同的dpi变体和不同的屏幕类型:Supporting Different Screens