android - Resize Imageview based on the parent height -
i have layout defined below
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centervertical="true" android:orientation="vertical" > <imageview android:id="@+id/movieimageview" android:layout_width="75dp" android:layout_height="75dp" android:layout_centervertical="true" android:paddingbottom="5dp" android:layout_marginleft="5dp" android:layout_margintop="5dp" android:src="@drawable/blank_96_1382x" /> <textview android:id="@+id/movietypeview" android:layout_width="75dp" android:layout_height="wrap_content" android:layout_below="@+id/movieimageview" android:layout_alignleft="@+id/movieimageview" android:maxlines="1" android:text="tv series" android:textcolor="@color/gray" android:textsize="12sp" android:gravity="center" android:paddingtop="3dp" android:paddingbottom="3dp" android:visibility="gone" android:textstyle="bold" /> <relativelayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_centervertical="true" android:layout_marginbottom="5dp" android:layout_margintop="5dp" android:layout_torightof="@id/movieimageview" android:layout_marginleft="5dp"> <textview android:id="@+id/movietitleview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxlines="3" android:text="shutter island starring leonardo di caprio" android:textcolor="@color/white" android:textsize="17sp" android:textstyle="bold" android:typeface="sans" /> ... </relativelayout> it 
i want imageview shrink based on contents on left side of imageview. instance if few fields missing , sum of heights of fields less image height should shrink (as shown below) .

if sum of heights of fields on left side of image greater specified image height should retain specified height below 
i tried extending imageview , change height/ width of image view reatining aspect ratio of image explained here custom image view. problem is, parent height returned measurespec.getsize(heightmeasurespec) not return exact height occupied fields on left side (since available after onmeasure of child returned). approach did not take me anywhere.
how can achieve desired behavior ?
you should align imageview textviews in linearlayout.
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centervertical="true" > <linearlayout android:id="@+id/lnrtextviews" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentright="true" android:layout_marginleft="5dp" android:layout_margintop="5dp" android:orientation="vertical" > <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#cee" android:gravity="center" android:maxlines="1" android:paddingbottom="3dp" android:paddingtop="3dp" android:text="tv series" android:textcolor="#fff" android:textsize="12sp" android:textstyle="bold" android:visibility="visible" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#f00" android:gravity="center" android:maxlines="1" android:paddingbottom="3dp" android:paddingtop="3dp" android:text="tv series" android:textcolor="#fff" android:textsize="12sp" android:textstyle="bold" android:visibility="visible" /> </linearlayout> <imageview android:id="@+id/movieimageview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignbottom="@id/lnrtextviews" android:layout_aligntop="@id/lnrtextviews" android:layout_marginleft="5dp" android:layout_margintop="5dp" android:paddingbottom="5dp" android:src="@drawable/songs" /> </relativelayout> copy paste code , add different sized image , textviews.
Comments
Post a Comment