这可能是一个基本问题,但以下行为一直伤害着我。所以我理解了轰鸣声的行为(差不多),但我不明白为什么这个行为已经为android实现了。
主题是关于一个维度大小的“wrap_content”,如果另一个维度是固定的。
这是一个例子。
XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="WrapContent w=wc \& h=wc" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:src="@android:drawable/ic_delete" />
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Hybrid w=200dp \& h=wc" />
<ImageView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:src="@android:drawable/ic_delete" />
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Hybrid w=wc \& h=200dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="200dp"
android:background="@color/colorPrimary"
android:src="@android:drawable/ic_delete" />
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Fixed w=200dp \& h=100dp" />
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@color/colorPrimary"
android:src="@android:drawable/ic_delete" />
</LinearLayout>
只是基本的东西。
在no1中,它只是从自己的大小包装内容:好的 在no4中,它将内容包装到固定大小:ok 在no2 et no3中,它保持自己的尺寸为wc(!?!),并将另一个尺寸扩展到固定尺寸。感觉(对我而言,对于我今天的理解),有一种限制大小的顶部线性布局,然后拥有一个图像视图。 BREF ...
为什么会这样?这是正常的吗?这是预期的吗?它只会给我带来麻烦吗?
我知道我们可以在Measure上覆盖ImageView并定义一个精确的布局,我正在这样做,但是,在我的日常工作中,我真的需要一个“包装内容”,将可绘制内容包装到固定约束(ImageView或它的父)。不是吗?
我希望ImageView将它的内容包装成drawable,就像这样(no2和no 3)