2016-01-28 3 views
5

Wie wird die App-Leiste wie in der Gmail App erstellt?App-Leiste mit der folgenden Fragmentkante

das heißt, wenn Navigation Drawer ist
A/kollabierte
B/erweitert
„Suchsymbol“ [gehörende E-Mails mit Liste fragmentieren] folgt rechten Rand des Fragments.

Im folgenden sehen Sie Bilder für die Fälle A und B.

Zeug mit Angenommen AppBar von Android 5, zum Beispiel:

  • Toolbar
  • AppBarLayout
  • CoordinatorLayout

enter image description here

enter image description here

Tnx!

Antwort

0

Ihre App enthält mehrere Elemente. Ich werde Sie zu den Seiten führen, nach denen Sie suchen müssen, um die notwendigen Antworten für Ihr Projekt zu erhalten.

Um die Suchfunktion in der App-Leiste zu implementieren, wird Ihnen this answer definitiv helfen. Ich habe es nie selbst gemacht, aber ich bin mir sicher, dass Sie in diesem Post Ihre Antworten finden werden.

Um den Rest des Bildschirms zu implementieren, würde ich eine Kombination aus einer Master/Detail Flow-Aktivität zusammen mit einer Navigationsleiste auswählen. Also, wenn das Projekt die Schaffung würde ich einen Master/Detail-Fluss als Hauptaktivität (Teil der Android Studio Proben) wählen, und fügen Sie den folgenden Code hinzu:

public class NavDrawerListAdapter extends BaseAdapter { 

    private Context context; 
    private ArrayList<NavDrawerItem> navDrawerItems; 

    public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){ 
     this.context = context; 
     this.navDrawerItems = navDrawerItems; 
    } 

    @Override 
    public int getCount() { 
     return navDrawerItems.size(); 
    } 

    @Override 
    public Object getItem(int position) {  
     return navDrawerItems.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     if (convertView == null) { 
      LayoutInflater mInflater = (LayoutInflater) 
        context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
      convertView = mInflater.inflate(R.layout.drawer_list_item, null); 
     } 

     ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon); 
     TextView txtTitle = (TextView) convertView.findViewById(R.id.title); 
     TextView txtCount = (TextView) convertView.findViewById(R.id.counter); 

     imgIcon.setImageResource(navDrawerItems.get(position).getIcon());   
     txtTitle.setText(navDrawerItems.get(position).getTitle()); 

     // displaying count 
     // check whether it set visible or not 
     if(navDrawerItems.get(position).getCounterVisibility()){ 
      txtCount.setText(navDrawerItems.get(position).getCount()); 
     }else{ 
      // hide the counter view 
      txtCount.setVisibility(View.GONE); 
     } 

     return convertView; 
    } 

} 

this helps :)

+0

hat Diese Antwort hat dir geholfen? Wenn ja, bitte akzeptieren und upvote. –

Verwandte Themen