Vlastní přehled o stavu v Androidu

hlasů
17

Já vím, jak dát na ikonu na každé kartě, že není žádný problém. Také jsem narazil na takto: [přetečení zásobníku nitě na skoro stejnou věc] [1]

Sledoval jsem jeden z odkazů z této otázky a bylo zjištěno, [to] [2]

Tak nějak to řekl, aby používal volič definovaný v XML, jistě, to udělal. Ale není tam žádný id spojena w / ní, takže jsem si jistý, jak se dostat na funkci voliče jako tažné, takže mohu použít jako ikonu karty. Možná se budu o to špatně. Ale to je to, co mám, a samozřejmě něco chybí.

<selector
    android:id=@+id/myselector
    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/darklogo />
    <item
        android:state_focused=false
        android:state_selected=true
        android:state_pressed=false
        android:drawable=@drawable/lightlogo />

    <!-- Focused states -->
    <item
        android:state_focused=true
        android:state_selected=false
        android:state_pressed=false
        android:drawable=@drawable/lightlogo />
    <item
        android:state_focused=true
        android:state_selected=true
        android:state_pressed=false
        android:drawable=@drawable/lightlogo />

    <!-- Pressed -->
    <item
        android:state_pressed=true
        android:drawable=@drawable/lightlogo />
</selector>

V mém kódu, úchytka příkladem je generován pomocí:

  host.addTab(host.newTabSpec(three)  
                .setIndicator(map,drawables)  
                .setContent(new Intent(this, Map.class))); 

Právě teď tažné, je jen odkaz na protažitelné zdroj obrazu. Jak mám provést volič protažitelné?

To je moje otázka [1]: Aktualizace systému Android Tab ikony [2]: http://groups.google.com/group/android-evelopers/browse_thread/thread/ef3bdebcb715b385

Položena 21/04/2009 v 18:30
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
20

XML, které jste zde zahrnuty, je to způsob, jak definovat tažného, který umožňuje vložit case. To představuje jinou tažného v závislosti na stavu Pohled je to být přiřazena. Jako tažná, měli byste jej uložit jako soubor ve formátu XML v res/drawableadresáři vašeho projektu (například tabselector.xml).

Pokud jej chcete použít pro Tabhost, je třeba postavit TabActivity jako obvykle by se (jak je uvedeno v tomto výukovém příkladu ).

Pak, když přidáte každé kartě na hostitele zadáte tabselectortažného jako ukazatel, jak je uvedeno na kartě „1“ níže.

Drawable mySelector = getResources().getDrawable(R.drawable.tabselector);

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1", mySelector).setContent(R.id.textview1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));

Poznámka: Nelze změnit barvu na kartě pozadí za ikony v tomto bodě.

Odpovězeno 22/04/2009 v 23:50
zdroj uživatelem

hlasů
1

Dalo by se použít zobrazení jako ukazatel, tímto způsobem můžete jej přizpůsobit tak, jak si přejete.

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(View MyView).setContent(R.id.textview1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));

První záložka bude používat Zobrazit jako jeho indikátor a druhý s CharSequence. Podívejte se na skutečné třídě TabSpec ( http://developer.android.com/reference/android/widget/TabHost.TabSpec.html ).

Odpovězeno 20/01/2010 v 13:44
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more