2016-08-22 1 views
0

Ich versuche, meinem Android-Projekt einige zusätzliche Layouts hinzuzufügen, aber ich möchte es mit Page View tun - Sie wissen, dass Layouts gegeneinander verschoben werden. Ich sehe eine Menge Beispiel darüber im Internet, von dem ich denke, dass es das beste ist this one. Aber ich konnte nicht herausfinden, wie man diesen Code in mein bestehendes Projekt steckt. Können Sie mir eine Anleitung zu diesem Thema geben? Vielleicht ein Tutorial oder etwas.Implementieren der Seitenansicht eines vorhandenen Android-Projekts

Ich habe zwei Layouts, von denen eines activity_main.xml und das andere Layout: activity_weekly_weather.xml ist, das derzeit leer ist. Danke im Voraus.

+0

Sie müssen ViewPager verwenden, über URL, die Sie auf Frage geschrieben haben, zeigen Sie alles über Viewpager. Du kannst damit umgehen. –

+0

yeah Ich verstehe generische Struktur, ich habe ein einfaches Beispiel, das diese Klassen in einem neuen Projekt kopiert. Aber ich konnte nicht herausfinden, wie ich alles auf mein bestehendes Projekt aufsetzen sollte. Deshalb habe ich um Hilfe gebeten. –

Antwort

2

Ich werde Ihnen zeigen, wie Sie Viewpager in Ihrer Aktivität implementieren und wie man den Adapter auf viewpager setzt und Fragmente in viewpager anzeigt.

Zunächst sollten Sie viewpager auf Ihre Aktivität Layout hinzufügen:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="42dp" 
     android:background="?attr/colorPrimary" 
     android:elevation="4dp" 
     app:tabIndicatorColor="@color/colorAccent" 
     app:tabMode="fixed" 
     app:tabTextColor="@color/white"/> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewPager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@+id/tabLayout"/> 

</RelativeLayout> 

Dann sollten Sie Adapter und tablayout auf Ihre viewpager gesetzt:

ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager); 
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout); 

TrialAdapter adapter = new TrialAdapter(this, getFragmentManager()); 
viewPager.setAdapter(adapter); 
tabLayout.setupWithViewPager(viewPager); 

Sie müssen TrialAdapter implementieren wie:

Sie sollten wri te Ihr Fragment wie:

public class TrialFragment extends Fragment { 

    private View view; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     view = inflater.inflate(R.layout.fragment_trial, container, false); 

     return view; 
    } 
} 

Schließlich sollten Sie fragment_trial.xml in Ihrem Layout Ressourcen erstellen:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:text="Trial Fragment"/> 

</RelativeLayout> 

Ich empfehle Sie verwenden android.app.Fragment und android.support.v13.app.FragmentStatePagerAdapter so müssen Sie unten Zeilen hinzufügen zu Ihrer Gradle-Datei (App-Modul):

compile 'com.android.support:support-v13:+' // for FragmentStatePager 
compile 'com.android.support:design:23.3.0' // for TabLayout 

Viel glück Bruder.

+0

Hatte wegen meiner Projektstruktur ein paar Änderungen zu machen, aber es hat funktioniert! Große Anstrengung. Viel geholfen, vielen Dank :) –

+0

Gern geschehen :) –

Verwandte Themen