SORU
6 ŞUBAT 2013, ÇARŞAMBA


TabWidget geçerli sekmeyi alt çizgi rengi

Kendisi için etkin bir TabWidget var ve stripLeft ve 4*...*

mTabHost.getTabWidget().setStripEnabled(true);
mTabHost.getTabWidget().setRightStripDrawable(R.drawable.redline);
mTabHost.getTabWidget().setLeftStripDrawable(R.drawable.redline);

Bu resimde gördüğünüz gibi, bu alt satır değiştirmez seçili sekme rengi (TAB 2).

enter image description here

Nasıl alt satırında varsayılan mavi olan seçili sekme rengini değiştirmek şu an yapabilir miyim? Renkli (varsayılan AppTheme styles.xml. style) ayarlı mavi tahmin ediyorum

this cevap aradım ama rengini değiştirmek için nasıl bir şey ifade etmiyor...

CEVAP
1 NİSAN 2013, PAZARTESİ


Sekme göstergesi rengi here bulunan bir seçici drawable tarafından ayarlanması ve bu gibi görünüyor:

<!-- AOSP copyright notice can be found at the above link -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_holo" />
    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_selected_holo" />

    <!-- Focused states -->
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_holo" />
    <item android:state_focused="true" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_holo" />

    <!-- Pressed -->
    <!--    Non focused states -->
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />

    <!--    Focused states -->
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
    <item android:state_focused="true" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />
</selector>

Seçici kullandığı drawables açık mavi renkli. Kendi renklendirilen sürümlerini bu drawables değiştirebilirsiniz. Orijinalleri böyle (aslı küçük, bağlantılar dahildir) bak:

Yukarıdaki kopyalamak için drawables ile birlikte kendi projenize seçici isteyeceksiniz. Sonra istediğiniz ne olursa olsun drawables renklendirmek isteyeceksiniz. Sonra sekme göstergeleri için arka plan olarak seçici olarak ayarlamak istersiniz. Bu sekmeleri kurduktan sonra) gibi yapabilirsin:

TabHost host = (TabHost)view.findViewById(R.id.tab_host);
TabWidget widget = host.getTabWidget();
for(int i = 0; i < widget.getChildCount(); i  ) {
    View v = widget.getChildAt(i);

    // Look for the title view to ensure this is an indicator and not a divider.
    TextView tv = (TextView)v.findViewById(android.R.id.title);
    if(tv == null) {
        continue;
    }
    v.setBackgroundResource(R.drawable.your_tab_selector_drawable);
}

Arkaplan seçici ile kendi müşteri göstergesi düzeninizi ayarlayarak bunu yapmanın daha kolay bir yolu olabilir ama bu kolay benim için çalıştı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • mist64

    mist64

    30 Mayıs 2006