abdul khan abdul khan - 5 months ago 26
Android Question

Android View same Width and Height

Following is my xml code. In my LinearLayout. I have two child views , which are aligned using weightSum. I have an ImageView whose Width is aligned properly due to weightSum, but the problem is with its height. I want it's Height to be same dimensions as of its width.
Is there any solution without using static dp values.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp">

<LinearLayout
android:background="@drawable/background_gradien_yellow"
android:weightSum="10"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
android:layout_weight="6"
android:id="@+id/startbtn"
android:textStyle="bold"
android:alpha="0.8"
android:textColor="#fff"
android:text="@string/start"
android:layout_centerInParent="true"
android:background="@drawable/background_gradient_circular"
android:layout_width="match_parent"
android:layout_height="150dp"/>


<LinearLayout
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:orientation="vertical"
android:layout_weight="3"
android:layout_width="match_parent"
android:layout_height="match_parent">


<TextView
android:textColor="@color/White"
android:id="@+id/tv_challange_title"
android:textSize="20sp"
android:text="Early-Bird Challange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<TextView
android:id="@+id/tv_challange_desc"
android:alpha="0.5"
android:textColor="@color/White"
android:textSize="15sp"
android:layout_marginTop="5dp"
android:text="Take 100 steps five times within.. "
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>


</LinearLayout>

</LinearLayout>

</RelativeLayout>


enter image description here

Answer

Make custom ImageView, then set its height same as width. check this answer