如何在android的LinearLayout中安装imageView,但始终保持其纵横比
Posted
技术标签:
【中文标题】如何在android的LinearLayout中安装imageView,但始终保持其纵横比【英文标题】:How to fit imageView inside LinearLayout in android, but always keep its aspect ration 【发布时间】:2015-10-08 01:31:00 【问题描述】:我正在尝试制作一个电子商务应用程序,当我从 api 调用中获取图像时,我面临的最大问题是拟合图像。图像可以是任何尺寸,所以我需要确保它们完全适合所有屏幕尺寸。
这是我的购物车 xml listview 项目布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="horizontal"
android:background="@color/primary">
<LinearLayout
android:layout_
android:layout_
android:gravity="center"
android:layout_weight="0.2">
<ImageView
android:layout_
android:layout_
android:background="@drawable/temp_image_product_detail"
android:id="@+id/layout_sort_by_listview_icon"/>
</LinearLayout>
<LinearLayout
android:layout_
android:layout_
android:gravity="center"
android:orientation="vertical"
android:layout_weight="0.8">
<TextView
android:layout_
android:layout_
android:text="adkfj;aklsjdf"
android:textSize="25sp"/>
<TextView
android:layout_
android:layout_
android:text="Rs. 255"
android:textSize="25sp"/>
<TextView
android:layout_
android:layout_
android:text="4.2"
android:textSize="15sp"/>
</LinearLayout>
我想实现购物车页面和产品列表页面的完美契合外观。如下所示:
http://traverphillips.com/Amazon-Material-Design
【问题讨论】:
【参考方案1】:我希望它会有所帮助,但我没有测试它:
您的第一个 LinearLayout 应该如下所示
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="horizontal"
android:background="@color/primary">
<LinearLayout
android:layout_
android:layout_
android:gravity="center"
android:layout_weight="0.2">
<ImageView
android:layout_
android:layout_
android:background="@drawable/temp_image_product_detail"
android:id="@+id/layout_sort_by_listview_icon"/>
【讨论】:
【参考方案2】:如果您希望图像水平适合您可以将 layout_width 设置为 fill_parent 并将 layout_height 设置为 wrap_content 但您必须将 adjustViewBount 设置为“true”
【讨论】:
好的,但是当我们改变它的父尺寸时,图像的纵横比仍然不正确。【参考方案3】:请使用android:scaleType="fitXY"
以适应屏幕
【讨论】:
【参考方案4】:尝试layout_width="match_parent"
并使用layout_weight
【讨论】:
以上是关于如何在android的LinearLayout中安装imageView,但始终保持其纵横比的主要内容,如果未能解决你的问题,请参考以下文章
Android - LinearLayout:如何在项目之间添加自动空间以水平填充布局
Android:如何以编程方式设置 LinearLayout 边距
如何在Android Studio的活动底部制作Android xml Linearlayout?
Android:如何将 LinearLayout 的内容垂直包装在 TableRow 中?