我有一个最大高度和最大宽度都设置为100
的ImageView
。下图显然不是正方形,但你可以发挥你的想象力;)
图1:
╔══════════════════════════════════════════════╗
║ ImageView ╔══════════════╗ ║
║ ║ ║ ║
║ ║ Actual image ║ ║
║ ║ ║ ║
║ ║ ║ ║
║ ║ ║ ║
║ ╚══════════════╝ ║
╚══════════════════════════════════════════════╝
无论如何,如果我尝试将BitMap
设置为不是1:1比例的ImageView
,则图像的位置如图1所示。我想要的是将图片放在ImageView
内部的左侧,如下面的图2所示。
图2:
╔══════════════════════════════════════════════╗
║══════════════╗ ║
║ ║ ║
║ Actual image ║ ║
║ ║ ║
║ ║ ║
║ ║ ║
║══════════════╝ ║
╚══════════════════════════════════════════════╝
您可以在下面的XML中看到我的ImageView。maxHeight
、maxWidth
和adjustViewBounds
在运行时设置。
<ImageView android:id="@+id/someImage"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textName"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4dp"
/>
这是在RelativeLayout
中,如果它有什么不同的话。
发布于 2011-10-09 19:06:52
尝尝这个
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/home_icon"
android:scaleType="fitStart"/>
这对我很有帮助。
发布于 2011-09-12 23:58:20
为什么不直接在视图中添加一个drawableLeft呢?
像这样(在你的layout.xml中):android:drawableLeft="@drawable/yourDrawableId“-或者像这样(在Java代码中):yourView.setCompoundDrawablesWithIntrinsicBounds(yourDrawableId,0,0,0);
你可以在你的视图容器中控制这个可绘制的内容的填充等(以控制接近粒度的布局调整)。
发布于 2011-06-06 17:26:46
我也遇到过同样的问题,我是这样解决的:
最后,我将ImageView放在一个和ImageView一样大的RelativeLayout中,并将相对布局的重心设置为我想要的(留在您的例子中)。
我还将adjustViewBounds设置为true,这样ImageView就和图像一样大,并且定位在相对布局中。
不是一个非常优雅的解决方案,但它是有效的。
https://stackoverflow.com/questions/2762243
复制相似问题