2016-10-12 4 views
0

У меня есть два RelativeLayouts, каждый из которых содержит ImageView и TextView. При нажатии на TextView размер TextView увеличивается, а размер другого Textview уменьшается. Однако положение ImageView также изменяется. Я хочу, чтобы изображение фиксировалось независимо от размера textview. Какие изменения должны быть сделаны?Android - Fix Position of Icon

<?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> 
+1

Попробуйте установить свой 2 RelativeLayout s android: layout_width как 0dp –

+0

@FebiMathew Его работа Спасибо Не могли бы вы объяснить логику? – aditya

+0

Ответить добавил. Пожалуйста, проверьте. –

ответ

2

Попробуйте установить ваш 2 RelativeLayout s android: layout_width как 0dp.

Когда Linearlayout содержит много видов внутри и устанавливает layout_weight, используется 1 layout_height или layout_width = 0dp, чтобы получить равное пространство для обоих видов.