这是我的情况:
FrameLayout
with
/ height
160dp(敬酒视图)ImageView
在FrameLayout
中应显示140dp上的图片
所以我认为160dp的FrameLayout
是1英寸(2,54厘米)。正确?
我在Illustrator中的图像是0.87英寸(2,2厘米),我输出320 ppi。最终像素大小为277px。
问题是我的手机显示的图像大约1英寸(2,54厘米)。那就是大!索尼Xperia Z3的密度约为430 ppi。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="160dp"
android:layout_height="160dp"
android:id="@+id/too_much_items_toast_root"
android:background="@drawable/toast_background_white">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bamaki_zoom_in"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000"
android:layout_gravity="center"
android:textSize="15sp"
android:text="Zoomen"/>
</FrameLayout>
我哪里错了?或者我必须做什么,图像适合布局,边缘有一些空间?
答案 0 :(得分:2)
您可以将FrameLayout
宽度/高度设置为wrap_content
并填充20dp
。这样您就可以在右侧使用框架了。
像这样的东西
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp"
android:id="@+id/too_much_items_toast_root"
android:background="@drawable/toast_background_white">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bamaki_zoom_in"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000"
android:layout_gravity="center"
android:textSize="15sp"
android:text="Zoomen"/>
</FrameLayout>
更新:正确计算图像大小的方法
忘记DPI一秒钟。在开始制作图像尺寸之前,首先要提出一个基本尺寸。该大小将转到drawable的MDPI文件夹。然后为HDPI文件夹制作1.5倍大小,XHDPI文件夹大小的2倍,XXHDPI文件夹大小的3倍。