无法使用TabLayout

时间:2017-12-17 10:03:10

标签: android xml tabs

我已经在一个Android应用程序的XML文件中制作了TabLayout。像那样

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

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

现在我正在尝试访问java文件中的TabLayout,但我无法这样做。请参阅附件快照并帮助我,我误解了。请帮助我。

Snapshot from code file

1 个答案:

答案 0 :(得分:2)

使用TabLayout您需要做的第一件事是在应用程序的 build.gradle 文件的依赖项中包含设计支持库:

compile 'com.android.support:support-v4:25.3.1' 
compile 'com.android.support:design:25.3.1'

在活动布局(activity_tab_layout.xml)中,我们放置了一个TabLayout小部件和一个ViewPager:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:padding="4dip"
android:gravity="center_horizontal"
android:layout_width="match_parent" android:layout_height="match_parent">

<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.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="net.voidynullness.android.tabitytabs.TabLayoutActivity">

</android.support.v4.view.ViewPager>

现在在各自的活动中说 TabLayoutActivity.java 将此代码添加到

   import android.os.Bundle;
   import android.support.design.widget.TabLayout;
   import android.support.v4.view.ViewPager;
   import android.support.v7.app.AppCompatActivity;


    public class TabLayoutActivity extends AppCompatActivity {
       TabLayout tabs ;
       ViewPager pager;
       TabsPagerAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_tab_layout);

       tabs = (TabLayout) findViewById(R.id.tabs);
       pager = (ViewPager) findViewById(R.id.pager);
       adapter = new TabsPagerAdapter(getSupportFragmentManager());
       pager.setAdapter(adapter);
       tabs.setupWithViewPager(pager);
  }
}

并运行它将适合你