Come posso avere il mio pulsanti TAB a guardare come creare pulsanti personalizzati scheda
Quale sarebbe il modo più semplice per fare questo se ho un disegnabile in quella forma troppo ???
Come posso avere il mio pulsanti TAB a guardare come creare pulsanti personalizzati scheda
Quale sarebbe il modo più semplice per fare questo se ho un disegnabile in quella forma troppo ???
semplicemente è possibile implementare schede per la tua domanda come questa
in metodo onCreate
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);
in file xml
<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>
chiamare la disegnabile a getResources() getDrawable (R.drawable.drawableid)).;
ridimensionare il tuo drawables.go per Android assertare studio e generare icone di tabulazione usando i tuoi drawable.here è il link http: //android-ui-utils.googlecode. com/hg/patrimoniale-studio/dist/index.html pls non dimenticate di votare la mia risposta :) – Hassy31
Qualcosa che si potrebbe fare nella vostra attività:
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;
}
Nella R.layout.layout_tabwidget_custom:
<?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>
ho fatto un lavoro simile come questo. Poiché Android non aiuta molto è la personalizzazione delle schede, faccio solo un pulsante con quattro schede e lo metto alla fine di ogni file xml. Tutte le tue attività sarebbero simili in questo modo e darebbero una visualizzazione come le schede.
Potrebbe me u dare un esempio per questo? –
Non credo ci sia bisogno di esempio poiché è molto semplice. Tutto quello che devi fare è aggiungere quattro pulsanti nella parte inferiore di ogni xml di attività e chiamare un'azione appropriata contro di loro. – MrWaqasAhmed
Hai provato la mia soluzione qui sotto? –
Creazione di layout XML per selettori, ma essi non si adattano in modo corretto per le schede nativo –
Avete una domanda specifica? Con quale parte dell'implementazione hai problemi? –
in fondo, ho provato utilizzando il metodo tabspec.setindicator con drawable, ma che does'nt in forma in modo corretto con il layout, ho anche provato un layout XML personalizzato in quel metodo troppo, così ho voluto knw se ci fosse in qualsiasi altro modo potrei cambiare il look nativo delle schede –