2012-05-02 38 views
5

nasıl sekme düğmeleri enter image description hereYapımı Özel sekme düğmeleri

gibi görünmek alabilirim ben de o şeklinde bir çizilebilir varsa ne Bunu yapmanın en kolay yolu olurdu ??? Eğer etkinlikte yapabileceği

+1

Seçiciler için xml düzenleri oluşturmak ancak bunlar yerel sekmeler için uygun şekilde sığmıyor –

+0

Belirli bir sorunuz var mı? Uygulamanın hangi kısmında sorun yaşıyorsunuz? –

+0

temel olarak, çekilebilir sekme ile tabspec.setindicator yöntemini kullanarak denedim, ancak bu düzen ile düzgün sığmaz, ben de bu yöntemde özel bir xml düzeni denedim, bu yüzden orada olsaydı knw istedim Ben başka bir şekilde sekmeler –

cevap

3

sadece bu

gibi uygulamanıza sekmeleri uygulayabilir onCreate metodu

TabHost tabHost = getTabHost(); 
tabHost.setCurrentTabByTag("First"); 

TabSpec firstTab = tabHost.newTabSpec("First"); 
firstTab.setIndicator("firstTab",getResources().getDrawable(R.drawable.ic_action_first)); //drawable 1 
firstTab.setContent(R.id.first_content); //View 
tabHost.addTab(firstTab); 

TabSpec secondTab = tabHost.newTabSpec("Second"); 
secondTab.setIndicator("secondTab",getResources().getDrawable(R.drawable.ic_action_second)); //drawable 2 
secondTab.setContent(R.id.second_content); //View 
tabHost.addTab(secondTab); 

TabSpec thirdTab = tabHost.newTabSpec("Third"); 
thirdTab.setIndicator("thirdTab",getResources().getDrawable(R.drawable.ic_action_third)); //drawable 3 
thirdTab.setContent(R.id.third_content); //View 
tabHost.addTab(thirdTab); 

tabHost.setCurrentTab(0); 
xml dosyasında

<TabHost android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost"> 
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> 
     <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
     <FrameLayout android:id="@android:id/tabcontent" android:layout_width="wrap_content" android:layout_height="wrap_content" > 

      <LinearLayout android:id="@+id/first_content" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <TextView android:text="first_tab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
      </LinearLayout> 

      <LinearLayout android:id="@+id/second_content" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <TextView android:text="second_tab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
      </LinearLayout> 

      <LinearLayout android:id="@+id/third_content" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <TextView android:text="third_tab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
      </LinearLayout> 
     </FrameLayout> 

    </LinearLayout> 
    </TabHost> 

GetResources adresinden çekilebilir() çağrısı getDrawable (R.drawable.drawableid)).;

+1

sekmeleri hissediyorum görünümünü değiştirmek için drawables.go android assert studio yeniden boyutlandırmak ve drawables.here link sekme simgeleri oluşturmak http: //android-ui-utils.googlecode. com/hg/asset-studio/dist/index.html pls cevabımı vermeyi unutmayın :) – Hassy31

1

şey: R.layout.layout_tabwidget_custom yılında

private TabHost mTabHost ; 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.my_layout); 

     mTabHost = (TabHost) findViewById(android.R.id.tabhost); 
     mTabHost.setup(); 
     // We create a webview for one tab for example 
     WebView wv = new WebView(this); 
     // add url and options on this webview 
     setupTab(wv, "My Title"); 
} 
private void setupTab(final View view, final String tag) { 
     View tabview = createTabView(mTabHost.getContext(), tag); 
     TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(new TabContentFactory() { 
      public View createTabContent(String tag) {return view;} 
     }); 

     mTabHost.addTab(setContent); 
    } 
// this is the method for customize tabs 
    private static View createTabView(final Context context, final String text) { 
     View view = LayoutInflater.from(context).inflate(R.layout.layout_tabwidget_custom, null); 
     TextView tv = (TextView) view.findViewById(R.id.tabsText); 
     tv.setText(text); 
     return view; 
    } 

:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tabsLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/selector_tab_bg" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:padding="10dip" > 

    <TextView 
     android:id="@+id/tabsText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Title" 
     android:textColor="@drawable/selector_tab_text" 
     android:textSize="15dip" /> 

</LinearLayout> 
0

Bunun gibi benzer işler yaptım. Android'in çok fazla yardım etmemesi sekmeleri özelleştirdiğinden, yalnızca dört sekme düğmesi oluşturup her bir xml dosyasının sonuna koyuyorum. Tüm Etkinlikleriniz bu şekilde benzer gözükecek ve Tabs gibi bir görünüm verecektir.

+0

Bunun için bana bir örnek verebilir misiniz? –

+0

Bunun çok basit olduğu için örneklere ihtiyaç olduğunu düşünmüyorum. Tek yapmanız gereken, her etkinliğin xml'inin altına dört düğme eklemek ve bunlara karşı uygun eylemi aramaktır. – MrWaqasAhmed

+1

Çözümümü aşağıda denediniz mi? –