2017-01-05 3 views
1

Ich habe einige Probleme mit meinem Code ..Material Design & Android Studio

Ich versuche, Material-Design mit Fragmenten zu implementieren, aber die Fragmente werden nicht angezeigt.

Das Bild unten ist wie es aussehen soll.

Material Design

Allerdings ist es das, was ich erhalte:

My App

Der XML-Code ist unten:

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 


    </android.support.design.widget.AppBarLayout> 

</android.support.design.widget.CoordinatorLayout> 

MainActivity Unten

package com.example.adeel.liverpoolnewsapp; 

import android.support.design.widget.TabLayout; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 

public class MainActivity_home extends AppCompatActivity { 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main_home); 
     //adding toolbar 
     Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     //adding tabs below 
     TabLayout tabs = (TabLayout) findViewById(R.id.tabs); 
     tabs.addTab(tabs.newTab().setText("Tab 1")); 
     tabs.addTab(tabs.newTab().setText("Tab 2")); 
     tabs.addTab(tabs.newTab().setText("Tab 3")); 
    } 
} 
+0

Werfen Sie einen Blick hier: http://stackoverflow.com/questions/34579614/how-to-implement-recyclerview-in-a -fragment-mit-tablayout und hier: http://stackoverflow.com/questions/35967941/whatsapp-like-collapsing-toolbar –

Antwort

1

Sie müssen Ihren ViewPager mit Ihrem Tab Layout einrichten.

Blick auf die unten method und class:

private void setupViewPager(ViewPager viewPager) { 
    ViewPageAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    adapter.addFragment(new FragmentName(), "TAB_TITLE"); 
    viewPager.setAdapter(adapter); 

} 

class ViewPagerAdapter extends FragmentPaferAdapter{ 
    private final List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 

      public ViewPagerAdapter(FragmentManager manager) { 
      super(manager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return mFragmentList.get(position); 
     } 

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

     public void addFragment(Fragment fragment, String title) { 
      mFragmentList.add(fragment); 
      mFragmentTitleList.add(title); 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return mFragmentTitleList.get(position); 
     } 
} 

in Ihrem MainActivity Verwendung wie folgt aus:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    viewPager = (ViewPager) findViewById(R.id.viewpager); 
    setupViewPager(viewPager); 

    tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(viewPager); 
} 

activity_main.xml:

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabMode="fixed" 
     app:tabGravity="fill"/> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

Einzelheiten hier überprüfen:

Verwandte Themen