1

Ich bin ein Android-Neuling versucht, eine untere Navigationsleiste für meine neue Android-App ähnlich einer dort in Instagram erstellen. So, instagram.jpg Wenn Sie auf das Suchsymbol klicken, wird eine Suchleiste in der Aktionsleiste hinzugefügt. Ich erstelle eine App, um den Benutzer an seine medizinischen Termine zu erinnern, die am unteren Rand drei Navigations-Registerkarten enthält. Ich habe bis zu diesem Screenshot_2017-06-04-11-59-56.png erstellt, nachdem ich feststecke. Soll ich mit drei Aktivitäten den Inhalt entsprechender Tabs oder Fragmente darstellen und wie kann ich das erreichen?Wie unteren Navigationsleiste ähnlich Instagram erstellen

Ich brauche eine recyclerview um Termine anzuzeigen. Wie kann ich die Suchleiste nur anzeigen, wenn auf das Suchsymbol unten geklickt wird? Habe viel gesucht, aber nichts nützliches gefunden.

Alle Vorschläge für Code oder Bibliothek, die das gleiche erreicht, wäre eine große Hilfe, danke.

+1

Es scheint, dass Sie nicht viele grundlegende Konzepte in der Android-Entwicklung kennen. Ich würde vorschlagen, dass Sie ein richtiges Tutorial über Android-Entwicklung folgen, um die Grundlagen zu erlernen und dann selbstständig zu versuchen. Bis dahin sollten Sie wissen, wie Sie Fragmente und Tabs verwenden und die Suchleiste dynamisch ein- und ausblenden können. – paradite

Antwort

4

Soll ich drei activities den Inhalt anzuzeigen entsprechende tabs oder fragments und wie kann ich das erreichen?

Auf jeden Fall sollten Sie Fragment für jede untere Navigation Item/Tab verwenden. Wie FragmentHome, FragmentSearch und FragmentSettings.

Um die Fragment zu verändern, ergänzen NavigationItemSelectedListener zu Ihrem BottomNavigationView und Fragment per MenuItem Auswahl ändern:

BottomNavigationView bottomNavigationView = (BottomNavigationView) 
      findViewById(R.id.bottom_navigation_view); 

    bottomNavigationView.setOnNavigationItemSelectedListener 
      (new BottomNavigationView.OnNavigationItemSelectedListener() { 
       @Override 
       public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
        Fragment selectedFragment = null; 
        switch (item.getItemId()) { 
         case R.id.action_item1: 
          selectedFragment = FragmentHome.newInstance(); 
          break; 
         case R.id.action_item2: 
          selectedFragment = FragmentSearch.newInstance(); 
          break; 
         case R.id.action_item3: 
          selectedFragment = FragmentSettings.newInstance(); 
          break; 
        } 
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
        transaction.replace(R.id.frame_layout, selectedFragment); 
        transaction.commit(); 
        return true; 
       } 
      }); 

Hier ist ein Tutorial über: BottomNavigationView with multiple Fragments

Ich brauche eine recyclerview Termine anzuzeigen

Fügen Sie in Ihrem Layout XML eine RecyclerView hinzu, um die Liste der Termine anzuzeigen. In Ihrer Fragment Klasse initialisieren Sie RecyclerView und erstellen Sie eine ArrayList<Appointment> und übergeben Sie diese list an Ihre Adapter, um auf RecyclerView Zeile Elemente anzuzeigen. Hier

ist ein Tutorial über: How to use RecyclerView in Fragment

Wie kann ich die search bar nur angezeigt werden, wenn das search Symbol unten geklickt wird?

Sie können Optionsartikel programmatisch von ToolBar/ActionBar gemäß Ihrer Fragmentänderung ein-/ausblenden.

In Ihrem FragmentSearch, unter Änderungen tun Searchbar zeigen:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setHasOptionsMenu(true); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) 
{ 
    View v = inflater.inflate(R.layout.fragmet_search, parent, false); 
    return v; 
} 


@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.your_search_menu_xml, menu); 
    super.onCreateOptionsMenu(menu, inflater); 
} 

Hier werden einige nützliche Links:

  1. Android Toolbar Adding Menu Items for different fragments
  2. Hide/Show Action Bar Option Menu Item for different fragments
  3. Adding ActionBar Items From Within Your Fragments

Hoffe, dies wird dazu beitragen, das Szenario zu verstehen.

+1

@ FAT vielen Dank :) finden Sie diese wirklich nützlich – yogeshmanjhi

+0

Most welcome. Wenn meine Antwort nützlich erscheint, hoffe ich, dass Sie auch eine positive Bewertung abgeben werden.danke ~ – FAT

+1

@ FAT upvoted und akzeptiert, dass als Antwort vielen Dank :) – yogeshmanjhi

0

Sie Ihre untere Navigation in der Tätigkeit setzen und füllen Sie es mit dem, was Sie wollen, dann verwenden Sie diese

bottomNavigationView.setOnNavigationItemSelectedListener(this); 

Wählen Sie ein Element Hörer hinzuzufügen. Sie könnten auch erforderlichen Verfahren in Ihrer Aktivität wie diese

@Override 
public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
    switch (item.getItemId()){ 
     case R.id.action_home: 
      //open home fragment 
      break; 

     case R.id.action_search: 
      //open search or whatever 
      break; 

    } 

    return true; 
} 

Jetzt implementieren es an Sie zu tun, was Sie wollen, wenn einige Elemente ausgewählt ist, zum Beispiel, wenn Suchpunkt ausgewählt wird Sie Suchabschnitt zeigen kann und es verstecken, wenn andere Elemente sind ausgewählt.

+0

@ Alireza sollte ich drei Aktivitäten verwenden oder drei separate Fragmente verwenden, um die Details der einzelnen Registerkarte anzuzeigen – yogeshmanjhi

+0

@ Alireza Ich habe bereits den Code implementiert, den Sie vorgeschlagen, wollte nur wissen, welche sollte ich verwenden, um Details Fragmente oder Aktivitäten anzuzeigen.Danke – yogeshmanjhi

+1

Fragmente! Sie verwenden eine Aktivität, die Ihre untere Navigation enthält, und ein Rahmenlayout zum Enthalten von Fragmenten. Dann klicken wir auf eine Registerkarte, auf der Sie ein Fragment in diesem Container anzeigen. – Reza

0

Wenn Sie eine Bibliothek für BottomBar here's one möchten. Sie müssen die Sichtbarkeit Ihrer SearchBar beim Klick auf diesen unteren Balken steuern. Wenn Sie versuchen, Ihre eigene searchBar zu implementieren, dann schauen Sie sich diese Links link1link2

+0

@ Nikhya danke für die links.soll ich drei Fragmente oder drei Aktivitäten verwenden, um die Details der Registerkarten anzuzeigen – yogeshmanjhi

+0

drei Fragmente mit View Pager verwenden, so dass Sie wie WhatsApp/Instagram aussehen werden. Sie können diese Fragmente wegen ViewPager verschieben. Sie können mehr für ViewPager – MrCurious

+0

@ Nikhya suchen Dank viel Hoffnung das wird helfen – yogeshmanjhi

0

Das Konzept der Registerkarten ist, dass Sie eine MainActivity haben müssen, die wir sagen wir 3 Fragmente behandeln. Mit dem Code, den @ Alireza vorgeschlagen hat, werden Sie den Wechsel zwischen Fragmenten behandeln. Sehen Sie sich ein Tutorial zur Implementierung von Tabs an (like this one here). Danach erstellen Sie in Ihrer "SearchFragment.java" Ihr XML entsprechend mit Ihrer Suchleiste oben und der Recycler-Ansicht unten oder was auch immer Sie wünschen. Vorschlag: Stellen Sie bei der Verwendung von Fragmenten sicher, dass Sie einen Kontext haben mContext = getActivity(); zuerst definiert, da es einfacher für Sie ist, alle Funktionen zu implementieren.

* Für Sie den unteren Registerkarte Effekt zu erzielen, könnten Sie android.support.design.widget.TabLayout zum unteren Rande des Bildschirms bewegen

+0

@ Razvan vielen Dank für Ihren Vorschlag wird versuchen, diese – yogeshmanjhi

Verwandte Themen