#android
#Android
Вопрос:
У меня есть ImageView с фоном и src. Размер фона (для xxxhdpi) 111×111, а размер src (опять же, для xxxhdpi) равен 27×34.
Я бы хотел, чтобы изображение src отображалось в правом верхнем углу и имело правильный размер (меньше), но сейчас я вижу, что оно центрируется и расширяется до размера фонового изображения.
Нужно ли мне сделать src того же размера, что и фон, и, возможно, добавить прозрачный фон в нижний левый угол?
Вот что у меня есть на данный момент.
<ImageView android:layout_width="80dp"
android:layout_height="80dp"
android:id="@ id/autoButton"
android:background="@drawable/automode"
android:src="@drawable/lock_icn"
android:layout_marginBottom="15dp"
android:textColor="@color/grey_400"
android:text="@string/auto_mode"
/>
Спасибо.
Комментарии:
1. Я думаю, что это было бы невозможно с одним ImageView. Потому что лучшее, что вы можете получить, это android:scaleType=»center», но тогда он появится в центре.
2. Вам нужно обернуть ImageView в макет (например, FrameLayout), а затем установить фон FrameLayout с вашим фоновым изображением, установить размер макета вашего ImageView в right и width / height в wrap_content
3. Я думаю, что это хорошая идея @MuddassirAhmed. Я попробую это сделать. Лучше, чем создавать новые иконки.
Ответ №1:
В итоге получилось очень похоже на упомянутое выше. Вот это для полноты картины.
<FrameLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginBottom="15dp"
android:layout_marginTop="10dp"
android:background="@drawable/automode"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/auto_mode"
android:textColor="@color/grey_400"
android:textSize="17sp" />
<ImageView android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="end"
android:id="@ id/deleteButton"
android:src="@drawable/lock_icn"
/>
</FrameLayout>