1

我有一个分辨率的图像1600 x 2400。我希望它显示在 ImageView 中,如下所示:

<ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scaleType="centerInside" />

我希望图像:

  1. 取全宽
  2. 保持纵横比
  3. 因此,图像视图高度必须按照比例

例如:在320 x 600屏幕上,一个尺寸的图像1600 x 2400必须显示为320 x 480

我目前得到的是一个图像视图,其尺寸320 x 2400以图像为中心,顶部和底部有空间。

4

2 回答 2

0

将图像保存在 hdmi 文件夹中并使用

android:src="@drawable/imagename" 

或者你可以使用

android:background="@drawable/imagename"  

并且您可以设置高度和宽度,而不是填充父级或包装或匹配 dp 中的使用尺寸,如 100dp 或任何您喜欢的。

android:layout_width="fill_parent"    
android:layout_height="wrap_content"

例子

android:layout_width="100dp"

1.请先阅读开发者指南。支持多个屏幕可以很好地概述您要实现的目标。老实说,这是一项具有挑战性的任务。大多数 iPhone 开发者都喜欢固定的屏幕尺寸,但我们 Android 开发者必须解决这个问题。我可以推荐一些我正在遵循的做法

2.如果布局不复杂,尽量不要使用固定高度和重量坚持线性布局。仅在确实必须时才转到相对布局。使用 Wrap 和 fill parent 而不是给出固定尺寸。这些是我能想到的少数几个。

3.通常您只需为不同的屏幕密度和方向提供不同的布局和资源,如 Android 文档中所述

尝试使用

android:scaleType="fitXY" 

或者

android:scaleType="fitCenter"
于 2013-08-27T08:06:40.733 回答
0

假设您已经计算出您的视图应该有多高:通过代码设置它的布局参数。

imageView.setLayoutParams(new LayoutParams(320, height));
于 2013-08-27T11:53:10.557 回答