Bir TabLayout kullanıyorum ve kullandığım sekmeler için özel resimlerim var, ancak hayatım boyunca sekmelerle sekmeler arasındaki renk ve hatta görüntüyü nasıl değiştirebileceğimi anlayamıyorum sekme içeriği. SetDividerDrawable() işlevini kullanmaya çalıştım ancak sekme içeriğini ayarlamadan önce aradığımda çöküyor ve sonra aradığımda hiçbir şey yapmıyor. Eğer onu sadece siyah olacak şekilde alabiliyorsam, ama hiçbir şey işe yaramadı. Herhangi bir rehberlik için teşekkürler.Android'deki TabWidget bölücünün rengini nasıl değiştirebilirim ve/veya çizilebilir miyim?
5
A
cevap
9
Bunu yapmak zorundasınız: tabHost.getTabWidget() setDividerDrawable (R.drawable.tab_divider);
R.drawable.tab_divider, kaynak dizininizdeki bir görüntüdür.
Ancak anahtara, sekme ana bilgisayarına herhangi bir sekme eklemeden ÖNCE yapmanız gerekir.
private void initializeTabs(int curTab) {
this.tabHost = getTabHost();
tabHost.clearAllTabs();
TabSpec ts1, ts2, ts3, ts4, ts5;
// tab separator
tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
ts1 = this.setupTab(new TextView(this), tabHost, R.drawable.browse_tab_normal,
mResources.getString(R.string.Browse));
ts2 = this.setupTab(new TextView(this), tabHost, R.drawable.search_tab_normal,
mResources.getString(R.string.Search));
ts3 = this.setupTab(new TextView(this), tabHost, R.drawable.postad_tab_normal,
mResources.getString(R.string.Post));
ts4 = this.setupTab(new TextView(this), tabHost, R.drawable.watchlist_tab_normal,
mResources.getString(R.string.WatchList));
ts5 = this.setupTab(new TextView(this), tabHost, R.drawable.managead_tab_normal,
mResources.getString(R.string.Login));
// intents
ts1.setContent(new Intent().setClass(this, BrowseTabActivity.class));
ts2.setContent(new Intent().setClass(this, SearchTabActivity.class));
ts3.setContent(new Intent().setClass(this, PostAdTabActivity.class));
ts4.setContent(new Intent().setClass(this, WatchlistTabActivity.class));
ts5.setContent(new Intent().setClass(this, LoginTabActivity.class));
tabHost.addTab(ts1);
tabHost.addTab(ts2);
tabHost.addTab(ts3);
tabHost.addTab(ts4);
tabHost.addTab(ts5);
...
0
bir bölücü tanımlamak için daha iyi bir yol XML işaretlemenizdeki eğer yapmaktır: Yani
<TabWidget
android:layout_width="match_parent"
android:showDividers="middle"
android:divider="@drawable/design_tab_divider">
</TabWidget>
,
Benim sekme başlatma kodu benziyor sadece biçimlendirmeden bir çekiliş tanımlayabilirsiniz. Bölücüleri sekmeler arasına yerleştirmek için android:showDividers="middle"
ile birlikte android:divider
kullanmanız gerektiğini unutmayın. Spesifikasyonları okumak ve LinearLayout - docs in google
İlgili konular
- 1. Vurguda png rengini nasıl değiştirebilirim?
- 2. TabWidget beyaz ön plan rengi?
- 3. Vim durum satırı rengini nasıl değiştirebilirim?
- 4. html.erb dosyasındaki onay işaretinin rengini nasıl değiştirebilirim
- 5. Isı haritasındaki satır efsanesinin rengini nasıl değiştirebilirim?
- 6. 8086 aksamında arka plan rengini nasıl değiştirebilirim?
- 7. LeafletJS'deki varsayılan yükleme çini rengini nasıl değiştirebilirim?
- 8. Datagridview'de bir sütunun rengini nasıl değiştirebilirim?
- 9. Çizgi grafiğim R rengini nasıl değiştirebilirim?
- 10. ActionBar hamburger simgesinin rengini nasıl değiştirebilirim?
- 11. Yer tutucu rengini css3 ile nasıl değiştirebilirim?
- 12. Başlığın rengini nasıl xyplot olarak değiştirebilirim?
- 13. Xcode4'teki görünmeyenlerin rengini nasıl değiştirebilirim?
- 14. JavaFX ProgressBar: çubuk rengini nasıl değiştirebilirim?
- 15. Vurguluda SVG görüntüsünün rengini nasıl değiştirebilirim?
- 16. ListBox seçim arka plan rengini nasıl değiştirebilirim?
- 17. android: ListPreference başlık rengini nasıl değiştirebilirim?
- 18. Android Studio'da bir düğmenin rengini nasıl değiştirebilirim?
- 19. Düzen dosyasındaki çizilebilir şeklin rengi nasıl değiştirilir
- 20. Picasso kullanırken nasıl çizilebilir?
- 21. XML şekli nasıl çizilebilir?
- 22. Tabbar simgelerinin vurgu rengini nasıl değiştirebilirim? (iPhone/iPad)
- 23. Telefon görüşmesinde arka plan rengini nasıl değiştirebilirim? 2.7
- 24. Seçilen öğelerdeki arkaplan rengini multiselect açılır kutusunda nasıl değiştirebilirim?
- 25. MATLAB'da, bir alt-alanın arka plan rengini nasıl değiştirebilirim?
- 26. ExpanableListView düzeninin xml dosyasındaki alt bölücü rengini nasıl değiştirebilirim?
- 27. Android - Google Formlar gibi animasyonlarla EditText çizgi rengini nasıl değiştirebilirim?
- 28. Görüntüyü seçmeden aşağı açılırken ok rengini nasıl değiştirebilirim?
- 29. Bitmap'in siyah arka plan rengini şeffaf olarak nasıl değiştirebilirim?
- 30. UIPopoverPresentionController iOS 8'de ok rengini nasıl değiştirebilirim?
'dan miras alınan özelliklerle ilgili daha fazla bilgi edinmek için yanıt tamamdır ancak aynı kodla bir görüntü yerine nasıl bir renk ayarlayabilirim. Teşekkürler! – benoffi7