Pravidla a konvence pro pojmenování souborů ve složce `drawable` - zizanek/-github-tz-pma-2026-priprava GitHub Wiki

Pravidla a konvence pro pojmenování souborů ve složce drawable

Při vkládání grafických souborů (obrázků ve formátu JPG, PNG, WebP či vektorových souborů XML) do složky res/drawable je nutné dodržovat jak striktní technická pravidla překladače Androidu, tak doporučené vývojářské konvence.


1. Striktní technická pravidla (Chyba kompilace)

Překladač Androidu (AAPT) vytváří pro každý soubor ve složce drawable odpovídající číselný identifikátor ve třídě R (např. R.drawable.nazev_souboru). Název souboru se stává názvem proměnné v jazyce Java/Kotlin, a proto musí splňovat přísná syntaktická pravidla:

  • Povolené znaky: Pouze malá písmena anglické abecedy (a-z), číslice (0-9) a podtržítka (_).
  • Zákaz velkých písmen: Názvy jako BikeImage.png nebo oizM10.png nejsou povoleny a způsobí okamžité selhání sestavení projektu.
  • Zákaz mezer a pomlček: Znak pomlčky - ani mezery nesmí být použity (např. oiz-m10.png nebo oiz m10.png je neplatný zápis).
  • Zákaz diakritiky a speciálních znaků: Znaky jako ě, š, č, @, #, $ apod. jsou nepřípustné.
  • První znak nesmí být číslice: Název souboru nesmí začínat číslem (např. 10_oiz.png je neplatné, platný zápis je oiz_10.png).

2. Doporučené konvence (Google Best Practices)

Pro zajištění přehlednosti ve větších projektech se používá zápis typu snake_case s hierarchickou strukturou:

<typ>_<kontext_nebo_obrazovka>_<nazev>_<stav>

Díky této struktuře se soubory v projektovém stromu Android Studia řadí abecedně logicky k sobě podle svého účelu.

Běžně používané předpony (prefixy):

Předpona Účel Příklady
img_ Obrázky a fotografie: Produktové snímky, ilustrace, bannery. img_bike_oiz_m10.png, img_hero_banner.webp
ic_ Ikony (Icons): Malé navigační a funkční symboly (vektory). ic_cart.xml, ic_check.xml, ic_arrow_back.xml
bg_ Pozadí (Backgrounds): Tvary, ohraničení, barevné výplně. bg_order_summary.xml, bg_card_rounded.xml
btn_ Stavy tlačítek: Selektory a vizuální stavy kliknutí. btn_order_pressed.xml, btn_order_disabled.xml

3. Srovnání správných a nesprávných zápisů

Původní / Chybný název Důvod chyby Správný zápis
Oiz M10.png Obsahuje velká písmena a mezeru. img_bike_oiz_m10.png
oiz-m20-tr.png Obsahuje nepovolené pomlčky. img_bike_oiz_m20_tr.png
1_kolo.png Začíná číslicí. img_kolo_01.png
lepsi_sedlo.png Chybí prefix a kontext určení. img_part_saddle.png
ikona košíku.png Obsahuje diakritiku a mezeru. ic_cart.xml
⚠️ **GitHub.com Fallback** ⚠️