Chcę, aby moje zakładki były wyświetlane tak jak na obrazku z małym trójkątem poniżej. Czy to możliwe? Jeśli tak, to pomóżcie mi z niektórymi kodami lub dokumentacją.Ustawienie wybranej TAB z małym trójkątem poniżej
5
A
Odpowiedz
11
myślę, następujące podejście jest najprostsza . Po prostu trzeba skonfigurować następujące odkształcalne (właściwie, to Android domyślnym odkształcalne na kartach) jako tło zakładkach:
<?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>
gdzie tab_press
, tab_focus
i tab_selected
kanału alfa byłby PNG (wolałbym 9-patches) z strzałka w dół i przezroczysty region w pobliżu. tab_unselected
drawable nie ma tej strzałki, ale nadal będzie mieć ten sam przezroczysty region. Pozostaje tylko określić ujemny margines dolny dla twojego TabWidget
. Jego wartość zależy od wysokości strzałki (nie zapomnij użyć density independent jednostek):
-2
można dodawać obrazy do układu z kartami:
<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>
i dodać słuchacza w swojej działalności zakładka:
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);
}
}
});
0
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);
Powiązane problemy
- 1. ExtJs TextField z małym przyciskiem
- 2. Ustawienie wybranej wartości nie ma wpływu na użycie klawiatury.
- 3. Ustawienie wybranej opcji pola wyboru Sencha Touch 2
- 4. Webpack tworzenie dużego pliku z małym projektem
- 5. KryoException: Przepełnienie bufora z bardzo małym wkładem
- 6. Załaduj zawartość na wybranej zakładce (Fundacja)
- 7. Jak zrobić elastyczną bańkę z trójkątem na lewej stronie?
- 8. Nowsze metody wykrywania małym ekranie
- 9. Wprowadzenie ipython notebook z wybranej przeglądarce
- 10. wybierz z wyników wybranej opcji
- 11. Kolor tła wybranej opcji
- 12. EditText z listą sugestii poniżej:
- 13. Jak zatrzymać przekształcanie przez iOS małego trójkąta z prostym trójkątem prostokątnym w trójkąt prostokątny?
- 14. Jak segue z danych z jednego do innego Tab Tab poprawnie
- 15. Flexslider hide kule poniżej slajdów
- 16. MySql wstawić wyniki wybranej
- 17. Dlaczego rozmiar .mdb rośnie trzy razy z małym obrazem?
- 18. Ustawienie wartości wybranej dla DropDownList powoduje również aktualizację wartości SelectedValue dla innej DropDownLIst
- 19. Importowanie modułów Pythona z wybranej lokalizacji
- 20. Uzyskaj wartości atrybutów z wybranej2 wybranej opcji
- 21. DropDownListFor nie przestrzegając wybranej właściwości z selectList
- 22. błąd gdy postać z wybranej dziedziny poddaje
- 23. Okno przełącznika emacs na C-TAB i C-S-TAB
- 24. PagerTabStrip: zmiana Tab Szerokość
- 25. Kopiowanie TabControl Tab
- 26. Ustawienie CursorType z ADODB.Command.Execute
- 27. IntelliJ odpowiada Eclipse TAB
- 28. sed wymienić literalne TAB
- 29. Zintegruj Kal Kalendarza z Moim Paskiem Tab:
- 30. Jak uruchomić wydarzenie z kluczem tab?
Ów pomógł trochę bit.just decribe margines abot –
Zobacz obraz, który dodałem. To powinno wyjaśnić moją sugestię. –
Naprawdę świetna odpowiedź. – Akram