我在更改Exapandable布局参数时遇到问题。我使用此库中的布局: https://github.com/AAkira/ExpandableLayout
我将ImageView放在这个布局中,而当我将图片下载到ImageView时,我希望我的布局能够包装这个图像。
<com.github.aakira.expandablelayout.ExpandableRelativeLayout
android:id="@+id/expandable_area"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_below="@+id/event_accepted_people_scrollview"
android:layout_alignParentStart="true">
<android.support.v7.widget.AppCompatImageView
android:id="@+id/card_map_icon"
android:layout_width="70dp"
android:layout_height="70dp"
app:srcCompat="@drawable/vector_drawable_ic_map_black___px"
android:tint="@color/skilltrade_grey"
android:scaleType="center"
android:layout_marginTop="5dp"
android:layout_centerHorizontal="true"
android:background="@drawable/ripple_effect"/>
<TextView
android:id="@+id/no_map_snapshot_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/no_map_snapshot"
android:gravity="center_horizontal"
android:layout_marginBottom="15dp"
android:layout_below="@id/card_map_icon"/>
<ImageView
android:id="@+id/carditem_map_snapshot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/details_map_textview"
android:scaleType="center"
android:layout_marginTop="5dp" />
</com.github.aakira.expandablelayout.ExpandableRelativeLayout>
问题是布局仅包装AppCompatImageView和TextView,因为未设置ImageView源并且它的高度为0.下载后图片布局不正确包装内容...
这就是我现在正在做的事情:
- 我下载尺寸为640x480的图片
- 我可以缩放它以匹配我的屏幕
- 之后,当我知道我的图像高度时,我改变了我的可扩展布局的参数,如下所示:
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mapSnapshot.getLayoutParams();
params.width = width;//scaled picture width
params.height = height;//scaled picture height
mapSnapshot.setLayoutParams(params);
expandableArea.updateViewLayout(mapSnapshot, params);
不幸的是它没有工作,布局高度仍然不匹配ImageView ...
如果有任何帮助,我将不胜感激:)