Android LinearLayout ImageView是否将视图推离屏幕?
所以,就我的一生而言,我似乎无法找出一个简单的布局问题。我希望也许一双新的眼睛能帮我摆脱困境 问题:我在垂直线性布局中有三个视图。Android LinearLayout ImageView是否将视图推离屏幕?,android,android-layout,layout,imageview,Android,Android Layout,Layout,Imageview,所以,就我的一生而言,我似乎无法找出一个简单的布局问题。我希望也许一双新的眼睛能帮我摆脱困境 问题:我在垂直线性布局中有三个视图。 文本视图 需要保留纵横比且AdjustViewBounds设置为true和wrap content的ImageView。(如果将布局权重设置为ImageView,则纵横比似乎被破坏) 另一个文本视图 我不能使用自定义视图,因为这是一个小部件 问题是,当可用空间太小时,ImageView会将底部文本视图推到屏幕外,而我所寻找的预期结果是ImageView会调整大小
- 文本视图
- 需要保留纵横比且AdjustViewBounds设置为true和wrap content的ImageView。(如果将布局权重设置为ImageView,则纵横比似乎被破坏)
- 另一个文本视图
左边是预期结果。但是,当尺寸太高时,会丢失纵横比。
代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:paddingBottom="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="12sp"
android:text="Text"/>
<ImageView
android:contentDescription="@string/app_name"
android:src="@drawable/sunny"
android:scaleType="fitXY"
android:cropToPadding="true"
android:adjustViewBounds="true"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
<TextView
android:paddingTop="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="12sp"
android:text="Text"/>
</LinearLayout>
示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:paddingBottom="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="12sp"
android:text="Text"/>
<ImageView
android:contentDescription="@string/app_name"
android:src="@drawable/sunny"
android:scaleType="fitXY"
android:cropToPadding="true"
android:adjustViewBounds="true"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
<TextView
android:paddingTop="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="12sp"
android:text="Text"/>
</LinearLayout>
文本视图被推出屏幕,而ImageView没有调整大小以适应它:
图像视图设置为
layout\u weight=“1”
和layout\u height=“0dp”
。它现在可以根据需要调整大小以适应底部文本视图,但会丢失其纵横比:图像视图设置为
layout\u weight=“1”
、layout\u height=“0dp”
和scaleType=“fitCenter”
。这将保留纵横比,同时仍然调整大小以适应底部文本视图。但是有额外的空白,文本视图不再靠近图像。任何帮助都将不胜感激。希望我能充分解释这个问题。谢谢你:)
内森试试这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="100"
android:gravity="center">
<TextView
android:paddingBottom="8dp"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="20"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="12sp"
android:text="Text"/>
<ImageView
android:contentDescription="@string/app_name"
android:src="@drawable/sunny"
android:scaleType="fitXY"
android:cropToPadding="true"
android:adjustViewBounds="true"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="60"/>
<TextView
android:paddingTop="8dp"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="20"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="12sp"
android:text="Text"/>
</LinearLayout>
您好,谢谢您的回复!不幸的是,这造成了与我文章中的第二幅图像类似的东西。宽高比没有被保留,顶部的文本视图在它和实际图像之间有很多额外的空白。你到底需要显示什么?不是完全从你的问题中得到的。请详细说明。