无法使用TabLayout

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用TabLayout相关的知识,希望对你有一定的参考价值。

我已经在一个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

答案

使用TabLayout您需要做的第一件事是在应用程序的build.gradle文件的依赖项中包含Design Support Library:

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);
  }
}

并运行它将为你工​​作

以上是关于无法使用TabLayout的主要内容,如果未能解决你的问题,请参考以下文章

片段无法加载到 View_pager tabLayout [重复]

在tablayout片段之间进行通信[重复]

getPageTitle() 没有被片段内的 Tablayout 调用

Android TabLayout ViewPager 不会在 backstack 上膨胀标签片段

如何使用 tabLayout 在 ViewPager 中显示片段?

如何从片段更改 Tablayout 的背景颜色?