Desidero che le mie schede vengano visualizzate come nell'immagine con un piccolo triangolo sotto di esso. È possibile? Se sì, aiutami con alcuni codici o documentazione.Impostazione TAB selezionato con un piccolo triangolo sotto di esso
risposta
credo, il seguente approccio è la più semplice . Hai solo bisogno di impostare le seguenti disegnabile (in realtà, è drawable di default di Android per le schede) come sfondo delle schede:
<?xml version="1.0" encoding="utf-8"?>
<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" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected" />
<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_focus" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_focus" />
<!-- Pressed -->
<item android:state_pressed="true" android:drawable="@drawable/tab_press" />
</selector>
dove tab_press
, tab_focus
e tab_selected
drawable sarebbero png di (preferirei 9-patches) con freccia verso il basso e regione trasparente vicino. tab_unselected
disegnabile non avrebbe questa freccia, ma avrebbe ancora la stessa regione trasparente. L'unica cosa che resta da fare è specificare il margine inferiore negativo per il tuo TabWidget
. Il suo valore è determinato dall'altezza della freccia (non dimenticare di usare density independent unità):
È possibile aggiungere immagini a disposizione con schede:
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dip" />
<FrameLayout
android:fadingEdge="none"
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_below="@android:id/tabs"
android:layout_alignParentBottom="true"
android:padding="0px" />
<ImageView
....
android:id="@+id/down_arrow_left"/>
<ImageView
....
android:id="@+id/down_arrow_right"/>
</RelativeLayout>
e aggiungere ascoltatore nella vostra attività scheda:
getTabHost().setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
if (tabId.equels("left")){
findViewById(R.id.down_arrow_left).setVisibility(View.VISIBLE);
findViewById(R.id.down_arrow_right).setVisibility(View.INVISIBLE);
} else if (tabId.equels("right")){
findViewById(R.id.down_arrow_left).setVisibility(View.INVISIBLE);
findViewById(R.id.down_arrow_right).setVisibility(View.VISIBLE);
}
}
});
tab_0_info.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_menu_yourImg_selected"
android:state_selected="true" />
<item android:drawable="@drawable/ic_menu_yourImg" />
</selector>
private void addTab(int resouceTabId, int drawableId,
Class<? extends ActivityGroup> groupActivityClass)
{
Intent intent = new Intent(this, groupActivityClass);
TabHost.TabSpec spec = tabHost.newTabSpec("tab" + resouceTabId);
View tabIndicator = LayoutInflater.from(this).inflate(
R.layout.tab_indicator, getTabWidget(), false);
TextView title = (TextView) tabIndicator.findViewById(R.id.title);
title.setText(resouceTabId);
ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageResource(drawableId);
spec.setIndicator(tabIndicator);
spec.setContent(intent);
tabHost.addTab(spec);
}
//addTab(R.string.yourTabTitle, R.drawable.tab_0_info, YourGroup.class);
- 1. Come faccio a impedire a iOS di convertire un piccolo triangolo con il triangolo a destra in un triangolo rettangolo?
- 2. Cambiare il colore di piccolo triangolo sul filatore in Android
- 3. iframe reattiva con div fisso sotto di esso
- 4. puro HTML/CSS per creare puntatore triangolo sotto pulsante
- 5. Crea un triangolo con CSS?
- 6. Creazione di un doppio triangolo con mirroring
- 7. Interpolazione di un triangolo
- 8. Disegno di un triangolo
- 9. Impostazione del valore selezionato di un elemento Select in Handlebars
- 10. Trova H3 e H4 tag sotto di esso
- 11. Impostazione di un valore selezionato predefinito in DropDownList in MVC3
- 12. Impostazione dell'elemento selezionato in un ListBox senza loop
- 13. Come posso utilizzare un wrap un TabHost contenente un MapView che visualizza anche una vista AdMob sotto di esso?
- 14. Come aggiungere triangolo costituito nel corso di un tag div
- 15. Triangolo di ricorsione Java con deviazione
- 16. Crea triangolo CSS3 con gradiente lineare
- 17. sprintf_s con un buffer troppo piccolo
- 18. Perché un pezzo di Javascript funziona solo quando ho un avviso sotto di esso?
- 19. Set @ Html.RadioButtonFor come selezionato per impostazione predefinita
- 20. Bordo su un triangolo
- 21. Impostazione dimensione heap Java sotto Apache Karaf
- 22. Come creare un triangolo CSS cross-browser?
- 23. Come passare un evento tattile da un UIView agli UIView (s) sotto di esso?
- 24. EditText ordine tab
- 25. Centro ritrovamento di triangolo 2D
- 26. Cacao: Utilizzo di un NSGradient come maschera per disegnare sotto di esso
- 27. Android: impostazione di un elemento listview con clic programmato sullo stato selezionato
- 28. Script di installazione corretto per un piccolo programma Python (non modulo) sotto Linux
- 29. RedirectToAction() con tab-id
- 30. triangolo CSS con immagine di sfondo
Questo è aiutato un margine abot po bit.just abbagliati –
Guarda l'immagine che ho aggiunto. Dovrebbe chiarire il mio suggerimento. –
davvero una grande risposta. – Akram