TabLayout'taki sekmeler arasında kenar boşluğu eklemenin bir yolu var mı? Widget.Design.TabLayout için özel bir stil kullanmayı denedim, ancak yalnızca dolguyla ilgili özellikler var, ancak kenar boşlukları yok.TabLayout'ta sekmeler arasında kenar boşluğu nasıl eklenir?
cevap
Tamam arkadaşlar, 2-3 saat geçirdikten sonra sonunda bir çözüm buldum.
TabLayout kullanıyorsanız, sekmeleri kullanarak stilleri ve benzeri kullanarak kenar boşluk eklemenin bir yolu yoktur. (Eskiden Android ile yaşam kurma)
Ancak, bunu Java kodu yazarak yapabilirsiniz. tüm kodunda Bütün bu benzer görünmelidir:
for(int i=0; i < mTabLayout.getTabCount(); i++) {
View tab = ((ViewGroup) mTabLayout.getChildAt(0)).getChildAt(i);
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) tab.getLayoutParams();
p.setMargins(0, 0, 50, 0);
tab.requestLayout();
}
öncelikle bulundukları kabı almak zorunda Görünüm olarak her sekmeyi almak için. Bu durumda, TabLayout, sekmeler için bir kapsayıcı olarak SlidingTabStrip kullanıyor. SlidingTabStrip TabLayout ilk çocuğu olan:
View tab = ((ViewGroup) mTabLayout.getChildAt(0))
Ve bu küçük ayrıntı sonra, her şey oldukça yalındır.
Bu çok doğru! – Kammaar
Çözümünüz benim için gerçekten iyi çalışıyor! Birisi dimens.xml dosyasında bulunan bir marjı eklemek istiyorsa, "50" gibi sabit bir piksel değeri yerine getResources(). GetDimensionPixelSize (R.dimen.your_dimens) kullanabilir. –
Bu çalışır, ancak alt çizgi göstergesi bunu yaptığınızda yanlış davranmaya başlar, hızlıca kaydırma çalışır, ancak sekmede belirli bir noktaya çağrıyı tıklatır. Şimdi bir çözüm arıyorum. – JMRboosties
Dört farklı sekme için ayarlanan kenar boşluğudur. Çalıştığınız sekmelerin sayısına uygun bir bağlantı elde etmek için setMargins (v1, v2, v3, v4) işlev değerlerini değiştirebilirsiniz. Umarım bu yardımcı olur. TabHost'un, çalıştığınız farklı sekmeleri barındıran TabHost'un nesnesi olduğunu lütfen unutmayın.
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
View currentView;
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{
//This code removes divider between tabs
tabHost.getTabWidget().setDividerDrawable(null);
tabHost.getTabWidget().getChildAt(i).setLayoutParams(new
LinearLayout.LayoutParams((width/8)-2,50));
currentView = tabHost.getTabWidget().getChildAt(i);
LinearLayout.LayoutParams currentLayout =
(LinearLayout.LayoutParams) currentView.getLayoutParams();
currentLayout.setMargins(30, 5, 80, 0);
}
@Todor Kostov iyi cevap, ama son sekme de marjı çünkü sekmelerin merkezi arabayla kaydırılır.
sadece mTabLayout.getCodeCount()
yerine mTabLayout.getTabCount() - 1
kullanın.
for(int i=0; i < mTabLayout.getTabCount() - 1; i++) {
View tab = ((ViewGroup) mTabLayout.getChildAt(0)).getChildAt(i);
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) tab.getLayoutParams();
p.setMargins(0, 0, 50, 0);
tab.requestLayout();
}
- 1. Visual Studio Code editörüne sağ kenar boşluğu nasıl eklenir?
- 2. WPF kenar boşluğu eşdeğeri?
- 3. div dolgu, kenar boşluğu?
- 4. HTML Otomatik kenar boşluğu
- 5. GridView satırları dış kenar boşluğu
- 6. GtkTextView üst/alt kenar boşluğu?
- 7. Kenar Boşluğu ve Dolgu davranışı
- 8. HTML varsayılan gövde kenar boşluğu
- 9. WatchKit Etiketine kenar boşluğu ekliyor
- 10. Satır içi kenar boşluğu sorunu
- 11. Bootstrap: Kenar boşluğu için sınıf?
- 12. Sarma sağ kenar boşluğu çalışmıyor
- 13. Kutuların arasındaki esnek kutu kenar boşluğu
- 14. Önyükleme sırasında sütunlar arasındaki kenar boşluğu nasıl alınır?
- 15. Graphviz'de kenar etiketleri nasıl eklenir?
- 16. NSTextView vermek Bazı dolgu/kenar boşluğu
- 17. QMainWindow ve mdiArea arasındaki boşluk (kenar boşluğu) nasıl kaldırılır?
- 18. Bir kenar boşluğu paragrafının hangi tarafında görüntüleneceği nasıl denetlenir?
- 19. Negatif kenar boşluğu iyi çalışıyor, negatif kenar boşluğu sağa kaydırma çubuğu oluşturur
- 20. 0 üst kenar boşluğu üzerinde JPanel
- 21. Günlük uzayda kenar boşluğu konumlarını alın
- 22. Kenar boşlukları arasındaki mesafeyi kenar boşluğu kullanarak ayarlayın
- 23. Safari'de gizemli kenar boşluğu olan sabit başlık
- 24. , sol kenar boşluğu aynı kalır ve sağ kenar boşluğu, web tasarımı için yeni bir im im
- 25. Bu durumda neden negatif kenar boşluğu gereksinimi
- 26. CSS - kenar boşluğu dahil arka plan rengi
- 27. VS2010 metin düzenleyicilerinde sağ kenar boşluğu işaretleri
- 28. TCPDF set alt kenar boşluğu sıfır
- 29. her sayfanın sol tarafında istenmeyen kenar boşluğu
- 30. jquery üreten kenar boşluğu sorunları yalnızca Safari'de
marjı ne anlama gelir? –
Evet, tam olarak –
Marj ekleme ekliyor gerçekten mümkün değil, ancak bunu yapmak için bazı hileler yapabilirsiniz. b kukla görünüm veya sekmeler ekleyebilir. –