2014-12-19 133 views
-1

我创造我的第一个应用程序,并学习首次Java作为井的过程中,和我停留在工具栏上创建标签..将标签添加到Android 5.0工具栏?

我看了看this岗位。不过,我仍然对如何正确实施它们感到困惑。我是否应该下载SlidingTabsColors文件,然后将它作为gradle.build中的依赖项添加?

在本节:fragment_sample.xml

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

     <android.support.v7.widget.Toolbar 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/my_awesome_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="?attr/actionBarSize" 

      app:theme="@style/ThemeOverlay.AppCompat.ActionBar"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" > 

       <com.example.android.common.view.SlidingTabLayout 
        android:id="@+id/sliding_tabs" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" /> 
      </LinearLayout> 
     </android.support.v7.widget.Toolbar> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="0px" 
      android:layout_weight="1" 
      android:background="@android:color/white" /> 

    </LinearLayout> 

我不能添加com.example.android.common.view.SlidingTabLayout布局。

谢谢

回答

1

试试这个

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

     <android.support.v7.widget.Toolbar 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/my_awesome_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="?attr/actionBarSize" 
      app:theme="@style/ThemeOverlay.AppCompat.ActionBar"> 
     </android.support.v7.widget.Toolbar> 

     <com.example.android.common.view.SlidingTabLayout 
        android:id="@+id/sliding_tabs" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" /> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="0px" 
      android:layout_weight="1" 
      android:background="@android:color/white" /> 

    </LinearLayout> 

为了更好地实现尝试:

添加到您的gradle这个依赖性

compile 'com.astuetz:pagerslidingtabstrip:1.0.1' 

然后代替SlidingTabLayout使用

<com.astuetz.PagerSlidingTabStrip 
    android:id="@+id/tabs" 
    android:layout_width="match_parent" 
    android:layout_height="48dip" /> 

在您的活动要在ViewPager你打电话

// Initialize the ViewPager and set an adapter 
ViewPager pager = (ViewPager) findViewById(R.id.viewpager); 
pager.setAdapter(new YourCustomAdapter(getSupportFragmentManager())); 

// Bind the tabs to the ViewPager 
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); 
tabs.setViewPager(pager); 

你可能想实现这样的适配器:

public class YourCustomAdapter extends FragmentStatePagerAdapter { 
    private String[] titles = { "Item 1", "Item 2", "Item 3" }; 
    public YourCustomAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     switch(position){ 
      case 0:{ 
       return new YourFragment(); 
      } 
      case 1:{ 
       return new YourFragment(); 
      } 
      case 2:{ 
       return new YourFragment(); 
      } 
     } 
     return null; 
    } 

    @Override 
    public int getCount() { 
     return titles.length; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return titles[position]; 
    } 
} 

希望它可以帮助!

+0

谢谢,生病了试试看! – 2014-12-25 00:21:16

相关问题