简体   繁体   中英

Android - Fix Position of Icon

I have a two RelativeLayouts which each contains an ImageView and a TextView . On clicking on a TextView , the size of the TextView increases and the size of the other Textview decreases. However, the position of the ImageView also changes.I want the Image to be fixed irrespective of the size of the textview . What changes should be made?

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/bb_bottom_bar_outer_container"
             android:layout_width="match_parent"
             android:layout_height="60dp"
             android:background="@drawable/float_common"
             android:clickable="true">

    <LinearLayout
        android:id="@+id/btn_updatenow"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/background_grey"
        android:orientation="horizontal"
        android:weightSum="3">

        <RelativeLayout
            android:id="@+id/float_layout_home"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingTop="2dp">

            <ImageView
                android:id="@+id/float_image_home"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="@dimen/margin_6"
                android:background="@drawable/float_home_onclick"
            />

            <TextView
                android:id="@+id/float_text_home"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:paddingBottom="@dimen/margin_10"
                android:text="@string/home"
                android:textColor="@color/text_mid_grey"
            />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/float_layout_offers"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical"
            android:paddingTop="2dp">

            <ImageView
                android:id="@+id/float_offers"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="@dimen/margin_6"
            />

            <TextView
                android:id="@+id/float_text_offers"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:paddingBottom="@dimen/margin_10"
                android:text="@string/offers"
                android:textColor="@color/text_mid_grey"
            />
        </RelativeLayout>
    </LinearLayout>

</FrameLayout>

Try by setting your 2 RelativeLayout s android:layout_width as 0dp.

When Linearlayout contains many views inside and set layout_weight as 1 layout_height or layout_width = 0dp is used, in order to take equal space for both views.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM