Android Material Design - nezobrazuje se ikonka pro tlačítko (button icon)

Android Material Design - nezobrazuje se ikonka pro tlačítko (button icon)

Při používání Android Material Design může nastat problém, že se nezobrazuje ikonka (icon) na začátku tlačítka (button).

Pokud použijeme tento zápis:

<Button
android:id="@+id/btn_navig"
android:icon="@drawable/icon_search"
android:iconGravity="textStart"
style="@style/ButtonOutlineIcon"
android:text="Menu" />

Tak se žádná ikonka nezobrazí.

 

Správně se má totiž použít namespace app, což je:

<Button
android:id="@+id/btn_navig"
app:icon="@drawable/icon_search"
app:iconGravity="textStart"
style="@style/ButtonOutlineIcon"
android:text="Menu" />

Avšak po této změně můžeme dostat vyhubováno s chybou:

Undeclared namespace prefix "app" (for attribute "icon") at [row,col {unknown-source}]: [25,31]

 

Řešení

Přidat do záhlaví namespace app takto:

    xmlns:app="http://schemas.android.com/apk/res-auto"

 

Celý blok v záhlaví pak vypadá takto:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relLayout"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

 

A náhle se ikonka začně zobrazovat...

 

Další obecné tipy na závěr:

1.) Padding pro ikonku

app:iconPadding="-10dp"

2.) Barva ikonky

android:tint="@color/red"

android:tintMode="@color/blue"

3.) Radius

app:cornerRadius="8dp"

4.) Barva ohraničení (border)

 app:strokeColor="@color/colorPrimary"

 

 

 

 

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář