Android xml drawable больше в первый раз

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

введите здесь описание изображения

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

<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), где femida — изображение в формате 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 введите здесь описание изображения


person Viktoriia Chebotar    schedule 28.04.2016    source источник
comment
Где в вашем макете изображение фемиды? где вы добавили его в макет? В вашем XML у вас есть TextView и вы добавляете только изображение.   -  person Lampard    schedule 29.04.2016
comment
Я добавил изображение Фемиды в сообщение. Я установил возможность рисования в текстовом виде как android:drawableLeft=@drawable/lawyer_selected   -  person Viktoriia Chebotar    schedule 29.04.2016
comment
Проверьте, есть ли у вас в макете два юриста_selected.xml или нет?   -  person Lampard    schedule 29.04.2016
comment
Да, оба текстовых представления имеют android:drawableLeft=@drawable/lawyer_selected, вы можете увидеть в макете   -  person Viktoriia Chebotar    schedule 29.04.2016
comment
Нет, я спрашиваю, есть ли в вашем файле макета дубликаты law_selected.xml.   -  person Lampard    schedule 29.04.2016
comment
Вы имеете в виду дублированные файлы для рисования с именем lawer_selected.xml? Нет, это только один файл   -  person Viktoriia Chebotar    schedule 29.04.2016
comment
Если ничего не получается, сделайте отдельный xml, возьмите два изображения, поместите feminda.png в качестве их src и проверьте, совпадают ли размеры изображения или нет, я думаю, эта проверка решит вашу проблему.   -  person Lampard    schedule 02.05.2016


Ответы (1)


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

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

person Akhilesh Sharma    schedule 02.05.2017