2013-04-16 32 views
6

Sekmeler gibi tarayıcılar için özel tabhost oluşturmak istiyorum. Görüntüdeki gibi krom tarayıcı sekmesinde olduğu gibi bir düzen için nasıl uygulanacağı konusunda kafam karıştı. İşte Android için chrome tarayıcısında özel tabhost oluşturma

enter image description here

denedim budur. Bu kenarları görüntüdeki gibi eğimli olarak nasıl oluşturacağımı bilmek istiyorum.

tab_selected.xml

<item> 
    <shape android:shape="rectangle" > 
     <solid android:color="#DCDCDC" /> 

     <corners 
      android:topLeftRadius="5dp" 
      android:topRightRadius="5dp" /> 
    </shape> 
</item> 
<item 
    android:bottom="2dp" 
    android:left="1dp" 
    android:right="1dp" 
    android:top="1dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="#DCDCDC" /> 
     <corners 
      android:topLeftRadius="10dp" 
      android:topRightRadius="10dp" /> 
    </shape> 
</item> 

tab_unselected.xml

<item android:top="10dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="#AAAAAA" /> 
    </shape> 
</item> 
<item android:bottom="2dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="#AAAAAA" /> 

     <corners 
      android:topLeftRadius="10dp" 
      android:topRightRadius="10dp" /> 

    </shape> 
</item> 

Umarız XML'de Pathshape kullanılarak yapılabilir. Bir referans için beni işaret edebilir mi? PathShape

+3

Bunları xml çekilebilir olarak oluşturamazsınız, dokuz yama daha uygundur. – Luksprog

+0

@ Luksprog PathShape ile program aracılığıyla bunu yapmayı umuyordum. Bununla mümkün mü? – intrepidkarthi

+0

@intrepidkarthi Eğer herhangi bir çözüm buldunuz – UnderGround

cevap

0

contentView olarak ayarlamak gerekir. Aktif sekme ve aktif olmayan sekme için bir tane.

+0

Ancak sekmedeki simgeyi silmek için ayrı bir dinleyici eklediniz mi? Kullandığım sekme kimliğini kullanarak –

+0

@AkhileshSk – intrepidkarthi

1

'da bir referans bulunamıyor, size bir FrameLayout sayfası ve ayrıca bir hashmap (kendi özel isimleriyle) ekleyin. o zaman bu

FrameLayout fl =new FrameLayout(context); 
    HashMap<String,LinearLayout> tabs =new HashMap<String,LinearLayout>(); 

    LinearLayout tab =new LinearLayout(context); 
    fl.addView(tab); 
    tabs.put("home",tab); 

    tab =new LinearLayout(context); 
    fl.addView(tab); 
    tabs.put("events",tab); 



private void changeTab(String tabKey) { 
    for (java.util.Map.Entry<String, LinearLayout> e : tabs.entrySet()) { 
     if (e.getKey().compareTo(key) == 0) { 
      e.getValue().setVisibility(View.VISIBLE); 
     } else { 
      e.getValue().setVisibility(View.INVISIBLE); 
     } 
    } 
} 


use this to change tab: 

    changeTab("home"); 

NOT gibi sekmeyi değiştirebilirsiniz: Bu etkinliğin contentView olarak fl ayarlamak veya Başka görünüm eklemek ve iki dokuz yama görüntülerle iyi çalışıyor

+0

Cevabınız için teşekkürler. Ben de bu çözüme ihtiyacım var. Ama sorum, esas olarak sekmelerin tasarlanmasıyla ilgilidir. – intrepidkarthi

+0

gibi sekmeler oluşturmak için kendi sekme çubuğunuzu ve sekme düğmelerini oluşturmalısınız. çünkü aktif sekmeyi görebildiğiniz gibi diğerlerinde. düğmelerinizi göreceli bir düzende koyarak ve z-dizinini değiştirerek bunu yapabilirsiniz (androidde bunun adını bilmiyorum. Bu yüzden html'de z-endeksi kullanıyorum. Ama var olduğunu biliyorum. ara) – bmavus

+0

tamam. Şu anda dokuz yama görüntüleri deniyorum. Sonuçları yakında güncelleyeceğim. – intrepidkarthi