我想知道,但仍然找不到问题。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:background="@color/colorPrimary"
android:layout_width="match_parent"
android:layout_height="48dp"/>
<ImageView
android:src="@drawable/someImage"
android:id="@+id/kioskModeImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
对于上面的结构,我的ImageView的侧面被缩短了,并且左右两侧有一些奇怪的边距,我不知道它们来自何处。
当我从容器中的LinearLayout中移除FrameLayout(并且仅将ImageView作为一件事情)时,一切都会按预期进行-图像占据了整个位置,因为match_parent应该起作用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:src="@drawable/customer_dark_1"
android:id="@+id/kioskModeImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
是什么原因导致了该问题?
答案 0 :(得分:0)
您尚未将scaleType设置为您的图像视图,请尝试设置android:scaleType="fitXY"
的scaleType还有其他值,请尝试使用适合您要求的值。
答案 1 :(得分:0)
在您的情况下,match_parent
match_parent
在使用FrameLayout
的图像上不起作用。
您需要添加layout_weight
并设置layout_height="0dp"
使其看起来像预期的那样
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:background="@color/colorPrimary"
android:layout_width="match_parent"
android:layout_height="48dp"/>
<ImageView
android:src="@drawable/someImage"
android:id="@+id/kioskModeImageView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
此外,本文还介绍了ImageView scaleType
:
https://thoughtbot.com/blog/android-imageview-scaletype-a-visual-guide