我的应用程序中的图像的正确视图仍然存在问题。所以在我的第一台设备(5,2英寸和480密度)上看起来不错。
在第二台设备(5,5英寸和420密度)上,图像不适合,并显示白色边框。
这是我布局中的ImageView:
<ImageView
android:id="@+id/iv_image"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/tv_topic" />
上阅读后,将所有图片放在drawable文件夹中
通常有两种方法可以定位所有屏幕DPI。 1.最简单的方法 - 使所有图像达到超高或超高DPI。
如果设备与可绘制的DPI不匹配,Android会自动缩放drawable。如果仅以高密度创建唯一的绘图,则较低的DPI屏幕将缩小资源以适合布局。
所以我在drawable文件夹中以最高分辨率ONCE实现了所有图像。是否有必要将它们全部放在特定文件夹中(drawable-ldpi,drawable-mdpi ...)?这意味着我的图像将有多个副本,总大小相同。
是的,我阅读了几次支持多个屏幕的官方文档。但是我理解它有些问题。
答案 0 :(得分:0)
我建议你使用layout_weight属性来保持ImageView和问题布局之间的恒定比例。 将您的布局更改为以下内容:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="4">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv_image"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<LinearLayout
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="3" />
</LinearLayout>