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 enter image description here

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) .

enter image description here

if sum of heights of fields on left side of image greater specified image height should retain specified height below enter image description here

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

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -