2016-04-28 2 views
1

У меня есть два интерактивных текстовых вида с одинаковым рисунком слева. Когда я открываю первый фрагмент, первое изображение выглядит больше, чем второе. После нажатия на первый текстовый вид открывается следующий фрагмент, а затем, когда я вернусь назад, два изображения имеют одинаковый размер. Что не так? Пожалуйста, помогите узнать причину этой ошибки.Android xml drawable больше в первый раз

enter image description here

Это мой макет:

<include layout="@layout/toolbar" /> 

<RelativeLayout 
    android:id="@+id/dmvLawyers" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true"> 

    <TextView 
     style="@style/DashBtnStyle" 
     android:drawableLeft="@drawable/lawyer_selected" 
     android:text="@string/dmv_lawyers" 
     android:textAllCaps="false" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:paddingRight="@dimen/add_friends_padding_left" 
     android:src="@drawable/add" /> 
</RelativeLayout> 

<View 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/divider" 
    android:background="@color/lineColor" /> 

<RelativeLayout 
    android:id="@+id/tlcLawyers" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true"> 

    <TextView 
     style="@style/DashBtnStyle" 
     android:drawableLeft="@drawable/lawyer_selected" 
     android:text="@string/tlc_lawyers" 
     android:textAllCaps="false" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:paddingRight="@dimen/add_friends_padding_left" 
     android:src="@drawable/add" /> 
</RelativeLayout> 
</LinearLayout> 

Это изображение вытяжка (lawyer_selected.xml), где Фемида является изображением PNG, и белый фон необходим для выбранного состояния (кнопка в выбранное состояние зеленое, а изображение должно быть белого цвета):

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape android:shape="rectangle"> 
     <padding 
      android:bottom="@dimen/dash_icon_padding" 
      android:left="@dimen/dash_icon_padding" 
      android:right="@dimen/dash_icon_padding" 
      android:top="@dimen/dash_icon_padding"/> 
     <solid android:color="@android:color/white"/> 
     <corners 
      android:radius="@dimen/dash_icon_radius"/> 
    </shape> 
</item> 
<item android:drawable="@drawable/femida"/> 
</layer-list> 

Изображение femida.png

+0

Где Фемида изображение в макете? где вы добавили его в макет? В вашем XML вы имеете TextView и добавляете только изображение. – Lampard

+0

Я добавил изображение femida в сообщение. Я устанавливаю drawable в textview как android: drawableLeft = "@ drawable/lawyer_selected" –

+0

Проверьте, есть ли у вас в вашем макете два файла lawyer_selected.xml или нет? – Lampard

ответ

0

Просто используйте вложенные LinearLayout вместо этого и используйте android: layout_weight = "1" или любое требуемое значение для вас, и оно будет работать точно.

** В вашем случае это будет только один, в то время как главный родитель LinearLayout может быть wrap_content как высота

Смежные вопросы