Figma ve çeviri sınırlamaları
Desteklenen Figma katmanı türleri
Geçiş yalnızca aşağıdaki katman türlerini destekler:
- Metin düğümleri
- Görüntü düğümleri (PNG, JPEG vb.)
- Düğümleri çerçevele (otomatik düzen ve otomatik olmayan düzen)
- Bileşenler ve varyantlar, bileşen örnekleri
- Vektör düğümleri
Desteklenmeyen Figma katmanları ve özellikleri
- Prototip oluşturma özellikleri
- Maskeleme grupları
- Dilim katmanları
Desteklenmeyen Figma özellikleri
Desteklenmeyen çeşitli özellikler vardır. Örneğin:
- İç gölge, katman bulanıklığı ve arka plan bulanıklığı
- Katman rotasyonu (vektör döndürme desteklenir)
- Katman veya fırça harmanlama modları (dolgu harmanlama modu desteklenir)
- Metin özellikleri:
- Paragraf aralığı
- Paragraf girintisi
- Sayı stilleri
- Mektup biçimleri
- Stille ilgili gruplar
- Üstü çizili ve altı çizili
- Satır yüksekliği (tüm metin öğesine uygulandığında da çalışır)
- Vektör özellikleri:
- Android'in
VectorDrawable
biçimi tarafından desteklenmeyen özellikler:- Yerleştirilmiş bit eşlem resimleri
- "Dikdörtgenler" hariç, vektörler
- Kesikli darbeler
- Bulanıklaştır
- Gölge
- Desen
- Maske
- Grup opaklığı
- Dairesel gradyan odak noktası
- Yerleştirilmiş bit eşlem resimleri
- SVG biçimi tarafından desteklenmeyen özellikler:
- Açısal renk geçişleri
- Baklava renk geçişleri
- Vektör nesneleri arasındaki boole işlemleri (birleştirme / çıkarma / kesişme)
/ hariç tut)
- Geçici çözüm, birleştirip tek bir vektör oluşturmaktır
- Android'in
Kısmen desteklenen Figma katmanları ve özellikleri
- Metin kesme (üç nokta) en güvenilir şekilde, metin öğesi yalnızca tek satır
- Dolgu rengi:
- Resimlerde yalnızca bir resim dolgusu olabilir, ancak resimlerde ek dolgular da olabilir. diğer türler (ör. gradyanlar)
- Gradyanlar için yalnızca doğrusal desteklenir. Gelecekteki sürümlerde renk geçişi türleri (dairesel, baklava, cam gibi) için ek destek açısal).
- Figma eklentisinde, bir parametrenin birden fazla doldurmayı kabul edebilirsiniz. Bir dolgu rengini parametre haline getirmek isterseniz Parametreler için düz renkler şu anda desteklenmektedir
- Gölgeler:
- Gölgeler şu anda aşağıdaki katmanlarda çalışmamaktadır:
- Dikdörtgen olmayan vektörler
- Döndürülmüş dikdörtgen vektör
- Katman başına birden fazla gölgelendirme desteklenmez.
- "Normal" dışındaki gölge harmanlama modları yalnızca Android 10 ve sonraki sürümler (aksi takdirde yoksayılır).
- Katmanlardaki gölgeler yalnızca Android 9 ve sonraki sürümlerde kullanılabilir. metin, Compose tarafından desteklenen tüm Android sürümlerinde kullanılabilir.
- Gölgeler, Compose'da her zaman şeffaf katmanların arkasında gösterilir.
- Gölgeler şu anda aşağıdaki katmanlarda çalışmamaktadır:
- Otomatik Düzen içinde mutlak konumlandırma:
- Mutlak konumlandırılmış nesneler her birinin arkasında veya önünde olmalıdır otomatik düzen öğelerinin karedeki yerini belirler. Herhangi bir mutlak konum otomatik düzen öğeleri arasına yerleştirilen nesneler, öne çıkarıyoruz.
- İçinde kesinlikle konumlandırılmış nesneler bulunan otomatik yerleşim çerçeveleri diğer otomatik düzen çerçeveleri yanlış düzene neden olabilir. Bunun nedeni, iç içe yerleştirilmiş çerçevenin sınırlayıcı kutusu, görebilirsiniz.
Metin parametresine tek bir stille aktarılırsa birden çok stil atlanır
Bir üst bileşen, iç içe yerleştirilmiş bir öğeye birden fazla stile sahip metin geçirmeye çalışırsa tek bir stile sahip bileşen metin parametresi olmadan, birden fazla stil oluşturulan Compose kodunu yazın. Metin parametresinin yalnızca orijinal stili saklandı.
Bu azalma, oluşumları engelleyen tür uyuşmazlıklarını önlemek için
bu bilgilerden faydalanabilirsiniz. Bir bileşendeki metnin birden çok stili varsa
oluşturulan composable, AnnotatedText
parametresine sahip olacaktır. Bir
bileşenin yalnızca bir stili varsa oluşturulan composable'ın bir düzlemi olur
String
parametresinden yararlanın. Yukarıdaki senaryoda, üst öğeyi dönüştürmemiz gerekir.
bileşeninin zengin metni, AnnotatedText
ile String
arasında,
stillerini ayarlayarak iç içe yerleştirilmiş bileşen örneğine geçirilebilmesini sağlayın.
Üst bileşenle aynı varyant özelliklerine sahip iç içe yerleştirilmiş bileşenler derlenemiyor
İki bileşende aynı özelliğe sahip bir [tasarım varyantı]{:.external} varsa biri diğerini iç içe yerleştirir, sonra oluşturulan kodda iki varyant aynı ada sahip olur ve derleme hatası oluşur:
Conflicting import, imported name '(variant property)' is ambiguous
Bu sorunu çözmek için bileşenlerden birinin varyant özelliği adını değiştirin.
Yazı tipi desteği
Şu anda yalnızca Google Fonts'taki yazı tipleri desteklenmektedir.
Android Studio ile ilgili sorunları giderme
Windows'da SVG kaynaklarını dönüştürmeyle ilgili bir hata aldım
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:generateDebugRelayCode'.
> A failure occurred while executing com.google.relay.gradle.GenerateCode$GenerateCodeWorkAction
> Converting SVG files: Exception Converting SVG resources for my_packaged_component
The syntax of the command is incorrect
Android Studio projenizin adı çok uzun olabilir. Windows'da Android Studio projesi 70 karakterden uzun olamaz. YouTube'da gelecekteki bir sürümde bu uzunluğu artırmanız gerekir.
Güncellemeler Android Studio'ya aktarılmaz.
Eklenti yalnızca Figma dosyanızın en son adlandırılmış sürümünü çeker. Figma dosyanızın yeni bir adlandırılmış sürümünü oluşturup oluşturmadığınızı tekrar kontrol edin. değişiklikler var.
Geliştirme sırasında SVG ve Java Runtime ile ilgili hata mesajı alıyorum
Converting SVG Files: Exception running shell command 'cd /path-to/relay/bin; path/to/relay/bin/vd-tool -c -in path/to/hello_card -out /var/folders/...'.
The operation couldn't be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
Java Runtime'ı yükleyip tekrar derleyin.
Oluşturma sırasında yazı tipleriyle ilgili bir hata alıyorum
Şuna benzer bir hata görebilirsiniz:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:generateDebugRelayCode'.
> Multiple task action failures occurred:
> A failure occurred while executing com.google.relay.gradle.GenerateCode$GenerateCodeWorkAction
> /Users/me/AndroidStudioProjects/MyProject/app/build/generated/res/relay/debug/font/relay_inter_bold.ttf
> A failure occurred while executing com.google.relay.gradle.GenerateCode$GenerateCodeWorkAction
> /Users/me/AndroidStudioProjects/MyProject/app/build/generated/res/relay/debug/font/relay_inter_bold.ttf
Bunun nedeni bir yarış koşuludur: Birden fazla bileşen aynı şeyi kopyalamaya çalışıyor yazı tipini bulun. Bu sorunu gidermeye çalışıyoruz. Bu arada, yeniden oluşturmayı deneyin.
Android Studio'da, silinen bir UI Paketi klasörünü geri alma işlemi başarısız olabilir
Android'de ui-packages
klasöründeki bir Kullanıcı Arayüzü Paketi klasörünü silerseniz
Studio'ya yükleyebilir ve ardından, bu klasördeki
açılmış olan dosyalar düzgün bir şekilde geri yüklenmeyebilir.
Geçici çözüm: İhtiyacınız olan Figma dosyasını kullanarak Dosya > Yeni > Kullanıcı Arayüzü Paketlerini İçe Aktar... Ayrıca, İçe aktarma işleminin ardından kullanıcı arayüzü paketi klasörünün olması gerekir.
Kullanıcı arayüzü paketlerinin dışındaki kaynakları güncellemek yeni bir derlemeyi zorlamaz
ui-packages
dizininin dışında bulunan bir bağımlılığı güncelleme (ör.
tema eşleme dosyası veya referans bileşen dosyası) olması,
yeniden üretilir.
Geçici çözüm: Oluşturulan kodda bir güncellemeyi zorunlu kılmak için projeyi temizleyin ( Oluştur > Projeyi Temizleyin) veya şununla ilişkili oluşturulmuş kod klasörünü silin. güncellenmesi gereken kullanıcı arayüzü paketidir. Ardından tekrar derleyin.
Oluşturulan kod veya ui-packages
klasör Android proje tarayıcısında eksik
Bazı durumlarda, Relay for Android Studio eklentisi tarafından oluşturulan klasörler proje tarayıcısında görünür.
Geçici çözüm: Proje klasörlerini yeniden yüklemek için üst düzey bir klasörü sağ tıklayın ve "Diskten Yeniden Yükle"yi seçin.
Alt bileşenler için uygulama temaları güncellenmedi
Bir üst bileşen, yeni bir uygulama temasıyla yeniden içe aktarıldığında alt öğesi
bileşenler (DEPS.txt
içinde listelenen) yeni temayı almaz.
Geçici çözüm: Önizleme temasını üst bileşenin
config.json
ve alt bileşenlerin her birinde bununla temaya sahip olan
ilgili config.json
. Yeniden oluşturduktan sonra, alt bileşenlerdeki temalar
oluşturulan kod düzeltilir.
Kullanıcı Arayüzü Paketi adı harfle başlamalıdır
Kullanıcı Arayüzü Paketi adı bir harfle başlamıyorsa Geçiş işlemi Oluşturma işlemini oluşturur
bir hata mesajıyla birlikte The resource name
must start with a letter
hata mesajını görürsünüz.
Geçici çözüm: Figma'da, Kullanıcı Arayüzü Paketi adını bir harfle başlayacak şekilde yeniden adlandırın.
Compose'daki yazı tipi dolgusu Figma ile eşleşmiyor
Figma ve Compose, sınırlayıcı kutusunun içindeki metni farklı şekilde düzenler. E-posta taslağı oluşturma sınırlayıcı kutunun üst kısmında daha fazla dolgu oluşturur.
Geçici çözüm: Figma'daki metin konumunu birkaç piksel yukarı taşımanız gerekir Compose'da doğru bir şekilde görünmesini sağlayın. Kalıcı bir çözüm üzerinde çalışıyoruz.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Kullanıcı Arayüzü Paketini ve Oluşturulan Kod
- Metinde Birden Fazla Stil
- Bileşenleri mevcut kodla eşleme