Yeni Materyal Tasarımında (AppCompat kullanarak), bazı eylem simgelerini yeni araç çubuğunun çekmece simgesiyle hizalamaya çalışıyorum. Bir şey gibi:Araç Çubuğu simgesiyle bir simgeyi hizalayın - Android Materyal Tasarımı
Ben doğru tüm metriklerindeki arıyorum düşünüyorum ...
Sorun mükemmel şekilde hizaya edemezler 16px'in soldaki dolgusundan sonra, simgeler başlamalıdır, ancak ikonun kendisi de bazı "dolgu" (malzeme github simgesinden) içerir, örneğin:
Belki aptalca ama ne eksik olduğumu bilmiyorum. Düzgün hizalamak için resmin içindeki dolguyu nasıl dikkate alabilirim? Radyo düğmeleri ya da bu eylem çubuğu simgesiyle onay kutusunu hizalamada da aynı sorun var.
Ben bu kod parçası çalıştı:<RelativeLayout
android:id="@+id/image_button"
android:layout_width="72dp"
android:layout_height="wrap_content">
<ImageView
android:layout_width="32dp"
android:layout_height="48dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:src="@drawable/ic_label_grey600_48dp" />
</RelativeLayout>
Ama (ben yayınlanmıştır ilk ekran görüntüsünde olduğu gibi) bana hizaya bak etmez.
Ve seviyor o 72px ve dolgu 16px fazla hesap şeye alıyor görünür: Burada da mükemmel hizalama görünüyor.
Tamam GÜNCELLEME, sana adamlar daha fazla örnek ve bazı kod göstereyim. Liste öğemin etiket metni içeren bir radyo düğmesine sahip olduğunu görüntüleme.
<RadioButton
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginLeft="16dp"
android:paddingLeft="32dp"
android:singleLine="true"/>
Sonuç: Ben aslında (bir radyo düğmesi gibi özel bir düğme kullanmadan bir kural doğru değerlere marginLeft ve paddingLeft ayarlamak görmüyorum
ve bu düğmenin boyutlarını bilerek) ... < - Kötü bir seçenektir çünkü renk butonu accentColor'dan (Malzeme'nin yeni malzemeleri) alınmıştır.Ayrıca bazı hizalama sorunları ile karşı karşıyadır Gmail uygulamasına benziyor
(ben bir mail seçtiğinizde bkz 1 posta başlığı ile artık aynı hizada değildir):
Belki bu yüzden aslında ile geldi görebilirsiniz bir ekran ve kod olarak versiyonunu yayınlamak? –
Radyo düğmesiyle bir örnek yaptım. Sadece bir eylem çubuğu ile bir metni hizalama tamam (radyo düğmesi etiketinde değil). Ayrıca dediğim gibi, simgeleri hizalamada da sorunlar var (iç dolguyu bilmiyorsunuz). –
Bağdaştırıcınızda, newView/bindView'da neden sadece simgenin kenar boşluğunu elle ayarlamak değil? – Codeversed