我使用ScrollView和多个视图,但我在顶部有一个ImageView。我需要的是将图像高度自动调整为屏幕高度。
我目前的布局是这样开始的:
<LinearLayout
android:orientation="vertical"
android:id="@+id/layout_dashboard"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/toolbar_dashboard_layout" />
<ScrollView
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
感谢。
答案 0 :(得分:0)
要确保ImageView
调整其高度,请使用属性adjustViewBounds
,例如:
<ImageView android:id="..."
android:adjustViewBounds="true" ... />
答案 1 :(得分:0)
您的屏幕尺寸无法在资源文件中识别,因为Android系统会获取这些文件,然后会将它们呈现到给定的设备屏幕。
因此,要使任何视图与屏幕大小成比例,我们需要以编程方式设置其参数。幸运的是,Android为我们提供了Display,其中包含有关我们显示的数据。使用此对象检索显示的高度,然后将View的高度设置为:
ImageView imageView = (ImageView) findViewById(R.id.image_view);
Display display = getWindowManager().getDefaultDisplay();
//We need to store the dimensions in a Point object.
Point point = new Point();
display.getSize(point);
//Now, set the width and height.
profileImage.getLayoutParams().width = point.x;
profileImage.getLayoutParams().height = point.y;