Search code examples
androidspinnerandroid-spinnerandroid-relativelayout

how to change imageView size depending on another item's size?


I have a relative layout which contains 2 items, one being a spinner and an ImageView, how do i set image view ratio based on Spinner height, in this case I set the height of Spinner to wrap_content, so the image can change it's aspect based on spinner's height.

           <RelativeLayout
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight=".28"
                android:background="@drawable/spinner_bg"
                android:orientation="horizontal">

                <Spinner
                    android:id="@+id/spinner"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_gravity="center"
                    android:background="@android:color/transparent"
                    android:gravity="center"
                    android:spinnerMode="dropdown" />

                <ImageView
                    android:scaleType="fitXY"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"
                    android:layout_gravity="center"
                    android:src="@mipmap/drop" />

            </RelativeLayout>

Solution

  • <RelativeLayout
    
                    android:layout_marginTop="10dp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight=".28"
                    android:background="@drawable/spinner_bg"
                    android:orientation="horizontal">
    
    
    
                    <ImageView
                        android:id="@+id/iv"
                        android:scaleType="fitXY"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:layout_alignTop="@+id/spinner"
                        android:layout_alignBottom="@+id/spinner"
                        android:layout_gravity="center"
                        android:src="@mipmap/drop" />
                <Spinner
                        android:id="@+id/spinner"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_toLeftOf="@id/iv"
                        android:layout_centerVertical="true"
                        android:layout_gravity="center"
                        android:background="@android:color/transparent"
                        android:gravity="center"
                        android:spinnerMode="dropdown" />
    
     </RelativeLayout>