5

Bibliothek Schiebe:Hervorhebungen Ausgewählte Artikel in Menü des Faches/Menü Gebrauchte

  1. https://github.com/SimonVT/android-menudrawer
  2. https://github.com/JakeWharton/ActionBarSherlock
  3. https://github.com/JakeWharton/Android-ViewPagerIndicator

Frage:

Ich habe versucht, Hervorhebung auf dem menudrawer ähnlich der YouTube/Beautiful Widget App zu implementieren, aber ich habe keine Ahnung, wie das Problem anzugehen ist.

unten i eine Probe zu meinem aprproche gebe, die ich nicht sicher bin, wenn sie die richtige Art und Weise, so etwas zu implementieren:

Dies ist eine Menü Schublade Adaptervew.click Lisner i erstellt:

Also im Grunde, was ich hier versuche, ist ein .9 Bild auf der aktuellen ausgewählten Ansicht zu verwenden!

Was ich wissen möchte ist, gibt es einen systematischen oder besseren Ansatz, um das Gleiche zu tun!

Was ich will unter Screen Shots achive ::

enter image description here enter image description here

Antwort

0

Sie können es versuchen:

public View getView(int position, View convertView, ViewGroup parent) { 
    view.setSelectionHandlerColorResource(Set your color here); 
} 
+3

Verfahren setSelectionHandlerColorResource() ist nicht definiert für den Typ Ansicht – user1940676

0

Es würde mehrere Möglichkeiten, um angehen. Am liebsten würde ich Ihr ListView-Element TextView in ein FrameLayout einfügen. Dieses FrameLayout kann dann einen Vordergrund haben, in dem Ihr Indikator angezeigt werden kann. Sie können diesen Indikator entweder programmgesteuert oder mit einem Selektor ein-/ausblenden.

2

Dies war meine Lösung des aktuellen Menüpunkt zu markieren:

1) Setzen Sie die letzte Auswahl drawerPosition die NavDrawer Aktivität:

public class NavDrawerBaseActivity extends Activity { 

    public static int LAST_DISPLAY_POSITION = 0; 

    private void displayView(int position) { 
     LAST_DISPLAY_POSITION = position; 

     Fragment fragment = null; 
     switch (position) { 
      case 0: 
       fragment = new ProgressPageFragment(); 
       break; 
      // .. 

      default: 
       break; 
     } 

     FragmentManager fragmentManager = getFragmentManager(); 
     fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit(); 

     // .. update selected item and title, then close the drawer 
    } 

Und dann in der Adapterklasse, Referenz Schritt 2, dass Wert:

public class NavDrawerListAdapter extends BaseAdapter { 
    // .. 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent { 

     TextView txtTitle = (TextView) convertView.findViewById(R.id.title); 

     if (position == NavDrawerActivity.LAST_DISPLAY_POSITION) { 
      txtTitle.setTextColor(Color.WHITE); 
     } 
     else 
      txtTitle.setTextColor(Color.BLACK); 

     // .. etc .. 
+0

Diese einfache Lösung mich nach vielen googeln und frustratio geholfen n. Vielen Dank –