Лучший способ показать Text
на button
(с изображением)
Ваш вопрос: как показать text
на imagebutton
?
Ответ: нельзя отображать text
с imageButton
. Метод, указывающий в Принятый ответ, также не работает.
так как
Если вы используете android:drawableLeft="@drawable/buttonok"
, вы не можете установить drawable
в center
из button
.
Если вы используете android:background="@drawable/button_bg"
, то color
вашего drawable
будет изменено.
В мире Android есть тысячи вариантов сделать это. Но здесь я предлагаю лучшую альтернативу, с моей точки зрения. (увидеть ниже)
Решение: используйте cardView
с LinearLayout
Ваш drawable/image
используется в LinearLayout
, потому что он показан в центре. А с помощью textView
вы можете установить text
на это. Мы делаем cardView
фон для transparent
.
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="99dp"
android:layout_margin="16dp"
app:cardBackgroundColor="@android:color/transparent"
app:cardElevation="0dp"
app:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/your_selected_image"
>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Happy Coding"
android:textSize="33sp"
android:gravity="center"
>
</TextView>
</LinearLayout>
</androidx.cardview.widget.CardView>
здесь я объясняю некоторые термины:
app:cardBackgroundColor="@android:color/transparent"
для создания прозрачного фона cardView
app:cardElevation="0dp"
для скрытия линий рельефа вокруг cardView
app:cardUseCompatPadding="true"
это обеспечивает фактический размер cardView
. Всегда используйте это, когда используете cardView
установите свой image/drawable
в LinearLayout
в качестве фона.
Извините за мой плохой английский.
Удачного кодирования :)
person
AG-Developer
schedule
06.12.2020