У меня есть макет, который используется в несколько мероприятий. У меня есть LinearLayout
в макет, который выглядит следующим образом:Нажмите LinearLayout для выполнения действия
<LinearLayout
android:id="@+id/like_button"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:gravity="center_vertical"
android:layout_gravity="center_vertical">
<ImageView
android:id="@+id/like_button_iv"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginEnd="10dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/ic_like"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:text="100"
/>
</LinearLayout>
мне нужно сделать так, чтобы, если пользователь нажимает на эту LinearLayout
, он выполняет действие, а затем изменяет ImageView
src
на другой значок.
Кроме того, используется LinearLayout
в этой ситуации идеально подходит?
Как это сделать?
изображения Вам не нужно, что LinearLayout в все. И поэтому ImageView. Просто используйте ** составную ** в вашем TextView и сделайте TextView доступным. Это поможет сгладить ваши макеты для лучших характеристик. Просто перенесите средние свойства из LinearLayout в TextView. –
Спасибо, что отвечает на один вопрос. Любые идеи с другой? – user5360382
Используйте 'setCompoundDrawablesWithintrinsicBounds()', чтобы программно изменить программный вариант. Примечание. Это может быть ЛЮБОЙ допустимый Drawable, не обязательно файл png. –