У меня есть это прозрачное изображение, которое я хочу залить определенным цветом внутри прозрачной части.
Мне удалось заполнить это изображение определенным цветом, который я хочу, но проблема в том, что этот цвет также заполняет внешнюю часть ImageButton.
Вот образец:
Как удалить лишний красный цвет за пределами чертежа?
Вот мой нынешний xml:
<ImageButton
android:id = "@+id/button_scan"
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_marginRight = "4dp"
android:layout_weight = "0.25"
android:src = "@drawable/ic_scan"
android:background = "@color/aub_red"
android:backgroundTintMode = "screen"
android:textColor = "@color/edittext_text" />
Потому что ваш размер для рисования меньше, чем ImageButton.
@ Ümañgßürmån, тогда как я могу заполнить цветом прозрачную часть чертежа?
@netflixspotify: попробуйте установить android:layout_width = "wrap_content"
Ваше изображение квадратное, а ваша кнопка прямоугольная. @Netflixspotify Используйте кнопку квадратной формы.
попробуй построить, добавив тезисы
android:adjustViewBounds = "true"
android:scaleType = "fitXY"
если на соотношение сторон изображения влияет указанное выше изменение, вы можете использовать
android:scaleType = "fitCenter"
Понятно! Спасибо!
@netflixspotify приятно это слышать. Для меня будет хорошо, если вы сможете проголосовать и за это.
Похоже, что родительский элемент - это LinearLayout с некоторой «весовой суммой», поэтому ширина ImageButton является неопределенной.
Вы можете создать макет кадра, который будет содержать эту кнопку изображения и другой макет (с той же шириной и высотой, что и кнопка изображения), лежащий в основе кнопки изображения. Что-то вроде этого:
<FrameLayout
android:layout_width = "0dp"
android:layout_weight = "0.25"
android:layout_height = "wrap_content">
<View
android:layout_width = "match_parent"
android:background = "@color/aub_red"
android:layout_height = "match_parent"/>
<ImageButton
android:id = "@+id/button_scan"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:layout_marginRight = "4dp"
android:backgroundTintMode = "screen" />
</FrameLayout>
Попробуйте удалить это:
android:background = "@color/aub_red"