Най-добрият начин да покажете Text
на button
(с изображение)
![пример за текст върху бутон с фоново изображение](https://i.stack.imgur.com/XI0HR.png)
Вашият въпрос: Как да покажа 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