如何正确地将图像放在具有指定高度的 ImageView 的顶部?
How can I correctly put an image at the top of an ImageView having a specified height?
我绝对是 Android 开发的初学者,我在将图像定位到布局的 ImageView 元素时遇到了一些问题。所以我有以下情况,我有这个 fragment layout:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Dummy content. -->
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="0dp">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:scaleType="fitCenter"
android:layout_height="350dp"
android:src="@drawable/carbonara"/>
<!--android:background="@drawable/carbonara" />-->
<TextView android:id="@android:id/text1"
style="?android:textAppearanceLarge"
android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp" />
</LinearLayout>
</ScrollView>
因此,正如您在前面的代码片段中看到的那样,我将背景图像设置为 ImageView,高度为 350dp设置。
问题是图像高度小于 350dp,这是我得到的:
如您在上一个屏幕截图中所见,我获得的是 350dp ImageView(以蓝色突出显示)并且图像设置在其中垂直居中。我不希望设置的图像垂直居中,但我希望它从 ImageView.
的顶部开始
我该如何实现这种行为?我错过了什么?
我试过改:
android:src="@drawable/carbonara"/>
与:
android:background="@drawable/carbonara" />
并以这种方式填充所有 ImageView space 但是这样图像可能会变形,所以我认为这不是一个好的解决方案。
尝试更改布局并再次测试。
android:scaleType="fitCenter"
至
android:scaleType="fitStart"
在此处查看完整 docs
我绝对是 Android 开发的初学者,我在将图像定位到布局的 ImageView 元素时遇到了一些问题。所以我有以下情况,我有这个 fragment layout:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Dummy content. -->
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="0dp">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:scaleType="fitCenter"
android:layout_height="350dp"
android:src="@drawable/carbonara"/>
<!--android:background="@drawable/carbonara" />-->
<TextView android:id="@android:id/text1"
style="?android:textAppearanceLarge"
android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp" />
</LinearLayout>
</ScrollView>
因此,正如您在前面的代码片段中看到的那样,我将背景图像设置为 ImageView,高度为 350dp设置。
问题是图像高度小于 350dp,这是我得到的:
如您在上一个屏幕截图中所见,我获得的是 350dp ImageView(以蓝色突出显示)并且图像设置在其中垂直居中。我不希望设置的图像垂直居中,但我希望它从 ImageView.
的顶部开始我该如何实现这种行为?我错过了什么?
我试过改:
android:src="@drawable/carbonara"/>
与:
android:background="@drawable/carbonara" />
并以这种方式填充所有 ImageView space 但是这样图像可能会变形,所以我认为这不是一个好的解决方案。
尝试更改布局并再次测试。
android:scaleType="fitCenter"
至
android:scaleType="fitStart"
在此处查看完整 docs