我在ScrollView中有一个ImageView。 ImageView和match_parent以及wrap_content的宽度和高度。但是,ImageView左侧和右侧都有轻微的填充。图像从服务器下载并显示在ImageView中。
这是我的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.xx.xxx"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_without_spinner" />
<ScrollView
android:id="@+id/scrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none" >
<LinearLayout
android:id="@+id/ll_select_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/green"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/ll_feature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/text_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:visibility="gone" >
<TextView
android:id="@+id/item_features_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/empty"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/item_features_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/empty"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<!-- ImageView with the problem -->
<ImageView
android:id="@+id/item_features_imageview_icon"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="0dp"
android:contentDescription="@string/item_features_icon"
android:cropToPadding="false"
android:scaleType="fitCenter" />
</LinearLayout>
</LinearLayout>
....
....
</LinearLayout>
</ScrollView>
</LinearLayout>
请查看以下屏幕截图:
如何使ImageView与scrollView的总宽度相匹配并保持宽高比?
不应该&#34; fitCenter&#34;根据文档自动匹配边缘?
ImageView.ScaleType。 FIT_CENTER
计算将保持原始src宽高比的比例,但是 还将确保src完全适合dst。至少一个轴 (X或Y)将完全适合。结果集中在dst内。
答案 0 :(得分:0)
使用此
android:scaleType="fitXY"
它会在水平方向上展开您的图像,删除额外的填充
您也可以使用
{{1}}
它将在垂直和水平方向上扩展
答案 1 :(得分:0)
android:scaleType="fitX"
会在水平方向扩展图像,而不会删除多余的填充android:scaleType="fitXY"
它将在垂直和水平方向扩展
在图像较大时使用android:adjustViewBounds="true"
。它的调整范围保留其可绘制对象的纵横比。
Ex.
<ImageView
android:scaleType="fitXY"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:srcCompat="@drawable/background_design" />