我有一个显示行
的ListView这是xml:
...
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@color/white"
android:orientation="vertical" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".30">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/face"
android:scaleType="centerCrop" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".70"
android:background="@color/white"
android:padding="4dp" >
// Other views...
</LinearLayout>
</LinearLayout>
…
得到这个结果:
这是原始图片
需要的是没有缩放的图像,就像这样:
我正在使用android:ScaleType =“centerCrop”我用android测试:adjustViewBounds =“true”和许多其他参数,但从未成功
想法?
提前致谢
答案 0 :(得分:3)
将图片设置为android:src
而不是android:background
。
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/face"
android:scaleType="centerCrop" />
所有视图都可以拍摄背景图片
src
到ImageView
还有其他功能:
adjustViewBounds
用于设置边界以匹配图片尺寸您可以在the docs找到更多内容。
答案 1 :(得分:0)
将android:background="@drawable/face"
更改为android:src="@drawable/face"
比例类型仅适用于android:src
答案 2 :(得分:0)
您可以使用android:src
代替android:background
来设置您的drawable。类似的东西:
<ImageView android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/face"
android:scaleType="centerCrop" />
另外,为什么不使用像photoshop这样的图像编辑软件裁剪图像并使用该图像呢?应避免动态缩放和操作图像,以防止尽可能多地使用系统资源。
答案 3 :(得分:0)
我认为,你的问题是在LinearLayout和FrameLayout中插入权重。请使用RelativeLayout无重量。系统无法裁剪您的图片,因为系统无法测量ImageView,无法将其与您的图片进行比较。总和系统认为“这是图片和ImageView相等”。 我这样做了:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp">
<ImageView
android:id="@+id/image"
android:layout_height="50dp"
android:layout_width="match_parent"
android:src="@drawable/photo"
android:scaleType="centerCrop"
android:contentDescription="@string/app_name"
android:layout_alignParentTop="true"
/>
<TextView android:layout_height="150dp"
android:layout_width="match_parent"
android:text="@string/text"
android:layout_below="@id/image"
android:maxLength="350"
android:layout_marginTop="5dp"/>
</RelativeLayout>