我有一个我已经包装在LinearLayout中的ImageView。 LinearLayout有一个背景drawable,它基本上是一个边框,所以效果是我的图像周围有一个边框。
然而无论我尝试什么,我的图像下面都会有一大块空白区域,这会将我的LinearLayout的下边缘向下推。我希望LinearLayout在没有填充的情况下紧紧包裹图像(除了我指定的1sp)
这是我定义两个
的方式 <LinearLayout
a:orientation="vertical" a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:gravity="top"
a:padding="1sp"
a:background="@drawable/heading_background">
<ImageView a:src="@drawable/photo"
a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:scaleType="fitStart"/>
</LinearLayout>
谁能告诉我我做错了什么?
由于
答案 0 :(得分:7)
我不知道你的drawable有多大,但如果它真的很大*那么你的imageview试图将自己调整为该格式(wrap_content),但也受到它所获得的实际空间的限制。究竟发生了什么事情对我来说有点模糊,但是对于调整大小的图片(即使保持像fitStart一样的宽高比)我还必须添加adjustviewbounds属性:http://developer.android.com/reference/android/widget/ImageView.html#attr_android:adjustViewBounds
它将ImageView的大小调整为我认为它已经具有的格式,但在我的情况下需要让它实际上“包装”内容....
*我并不意味着巨大,只是“足够大,所以它必须缩小一点”
答案 1 :(得分:2)
您需要在ImageView中将a:adjustViewBounds
设置为true。这可确保布局将紧紧包裹在图像周围。
答案 2 :(得分:-1)
android:adjustViewBounds="true"