标签: android-tablayout

TabLayout的不同tabMode

我正在使用ViewPager和TabLayout.如果选项卡可以放在显示选项卡上,则它们必须是:

app:tabMode="fixed"
Run Code Online (Sandbox Code Playgroud)

其他

app:tabMode="scrollable"
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

android android-layout android-tablayout

7
推荐指数
2
解决办法
1万
查看次数

在Android 4.4设备上看不到工具栏和TabLayout

我试图通过参考[ http://blog.grafixartist.com/material-design-tabs-with-android-design-support-library/] [blog] 使用谷歌设计库来实现工具栏和TabLayout .

输出在Lollipop设备上按预期工作,但它不会在Kitkat设备上显示ToolBar和TabLayout.但我仍然可以按预期在kitkat设备上滑动3个片段.为什么使用谷歌支持库编写的相同代码在不同设备上的工作方式不同!

我试着提到[ 工具栏在Android 4.X设备上不可见[已解决]问题,但它没有解决问题.我尝试使用API​​ 19在模拟器中运行代码,但同样面临同样的问题.

我已经加入'com.android.support:appcompat-v7:22.2.0','com.android.support:support-v4:22.2.0''com.android.support:design:22.2.0'在项目的依赖.

activity_main.xml中

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/tools">

<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/Base.ThemeOverlay.AppCompat.Dark" />

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

</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" />

    </android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class MainActivity extends AppCompatActivity {

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

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

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

        TabLayout tabLayout …
Run Code Online (Sandbox Code Playgroud)

android toolbar android-appcompat android-viewpager android-tablayout

7
推荐指数
1
解决办法
9738
查看次数

Android Tablayout将textAllCaps设置为False不起作用

我试图使用小型大写字母制作我的ViewPager标签文本,但它不起作用,

我搜索并检查了与此相关的其他帖子,尝试了他们的解决方案,但仍然无法正常工作

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
      <item name="tabTextAppearance">@style/MyCustomTextAppearance</item>
</style>

<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
      <item name="textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

ViewPager选项卡布局

<android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        app:textAllCaps="false"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/MyCustomTabLayout" />
Run Code Online (Sandbox Code Playgroud)

请问任何确认的工作解决方案?

谢谢.

android android-layout android-viewpager android-studio android-tablayout

7
推荐指数
2
解决办法
4871
查看次数

滑动抽屉项之间滑动后,TabLayout和ViewPager -Tabs不起作用

TabLayout和ViewPager - 在滑动抽屉项目之间滑动后,单击选项卡不起作用.

我的应用程序有滑动抽屉和Tablayout.我参考本教程的Sliding DrawerFor TabLayout.

内滑动抽屉

  1. TaskList - >TabLayout(Tabs(Today,Monthly,Yearly))
  2. 设置
  3. 命令

我在Sliding Drawer和Tablayout之间有问题.第一次viewpager加载正确.但是当我移动到下一个抽屉项目(设置片段)之后,返回到TaskList选项卡片段viewpager无法加载任何片段,当滑动该寻呼机然后加载几个片段.

这里有Java代码

public class TaskListFragment extends Fragment {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;

public TaskListFragment() {
    // Required empty public constructor
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_my_page, container, false);

    viewPager = (ViewPager)rootView.findViewById(R.id.viewpager);
    tabLayout = (TabLayout)rootView.findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public …
Run Code Online (Sandbox Code Playgroud)

android slidingdrawer android-viewpager android-tablayout

7
推荐指数
1
解决办法
5835
查看次数

(tablayout)当editText聚焦时,选项卡会通过键盘

我有setUp tabLayout与ViewPager有5 Fragments. tabLayoutandroid:layout_gravity设置为bottom.第三个片段editText在聚焦时,我的标签来自键盘.

没有EditText的Tablayout

带有EditText的TabLayout

主要布局:

    <?xml version="1.0" encoding="utf-8"?>
    <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/coordinatorLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

         <include
              android:id="@+id/t"
             layout="@layout/toolbar"/>


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

  <android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"/>

  <android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tab="http://schemas.android.com/tools"
    android:layout_gravity="bottom"
    app:tabGravity="fill"
    android:background="@color/colorPrimary"
    android:layout_alignParentBottom="true"
    android:id="@+id/tabs"

    app:layout_collapseMode="parallax"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"

    xmlns:android="http://schemas.android.com/apk/res/android">


    </android.support.design.widget.TabLayout></android.support.design.widget.CoordinatorLayout> 
Run Code Online (Sandbox Code Playgroud)

第三片段布局:

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

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:hint="Enter something"
        />
</LinearLayout> 
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-fragments android-viewpager android-tablayout

7
推荐指数
2
解决办法
1809
查看次数

自定义TabLayout指示器。使制表符指示器变成圆角?

我只想使制表符指示器圆角而不是整个制表符。我曾尝试设置自定义视图,但并没有帮助我。任何帮助,将不胜感激。谢谢

android view android-tablayout

7
推荐指数
2
解决办法
2460
查看次数

viewPager.setCurrentItem(position, false) 选择,但不滚动到突出显示的 Tab

我有ViewPager连接TabLayout。如果我viewPager.setCurrentItem(position, true)在选项卡布局上使用了正确的选项卡,则会显示(TabLayout自动滚动到选定的选项卡)。但我想使用viewPager.setCurrentItem(position, false)。在这种情况下,选择了正确的选项卡(突出显示),但问题是TabLayout不会滚动到这个选定的选项卡。它是隐藏的,我必须手动滑动TabLayout才能查看选择了哪个选项卡。这是一个错误吗?我可以手动强制TabLayout滚动到选定的选项卡吗?

更新:

要清楚。我的选项卡已正确选择,并且在ViewPager执行viewPager.setCurrentItem(position, true)或时显示正确的视图viewPager.setCurrentItem(position, false)。但是对于第二个,TabLayout不滚动所以我选择的(突出显示)Tab被隐藏了。

更新 2:

我已经用示例应用打开了这个问题:https : //issuetracker.google.com/issues/72390853

tabs android scroll android-viewpager android-tablayout

7
推荐指数
1
解决办法
1071
查看次数

我们如何缩小标签布局文本与其指标之间的差距

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/htab_maincontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true">

            <android.support.design.widget.AppBarLayout
                android:id="@+id/htab_appbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorBlack"
                android:fitsSystemWindows="false"
                android:theme="@style/AppTheme">

                <android.support.design.widget.CollapsingToolbarLayout
                    android:id="@+id/htab_collapse_toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="256dp"
                    android:fitsSystemWindows="true"
                    app:layout_scrollFlags="scroll|exitUntilCollapsed"
                    app:titleEnabled="false">

                    <ImageView
                        android:id="@+id/htab_header"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/logo_inner"
                        android:fitsSystemWindows="true"
                        app:layout_collapseMode="parallax" />

                    <android.support.v7.widget.Toolbar
                        android:id="@+id/htab_toolbar"
                        android:layout_width="match_parent"
                        android:layout_height="?attr/actionBarSize"
                        android:background="@android:color/transparent"
                        app:contentInsetStart="0dp"
                        app:layout_collapseMode="pin"
                        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

                    <android.support.design.widget.TabLayout
                        android:id="@+id/htab_tabs"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="bottom"
                        android:background="@color/colorBlack"
                        app:tabGravity="center"
                        app:tabIndicatorColor="@color/colorSelectText"
                        app:tabPaddingEnd="@dimen/space_micro"
                        app:tabPaddingStart="@dimen/space_micro"
                        app:tabSelectedTextColor="@color/colorSelectText"
                        app:tabTextAppearance="@style/TabLayoutTextStyle"
                        app:tabTextColor="@color/colorWhite">


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


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

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



        </android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我想减少Tab Layout文本和它的指标之间的空间.我正在使用带有折叠工具栏的标签布局,当它向上滑动时,标签布局将固定在顶部.

我有4个标签及其相应的指示灯.

我正在分享我的xml并附加图像.

在此输入图像描述

android android-layout android-tablayout

7
推荐指数
2
解决办法
1532
查看次数

错误膨胀类 com.google.android.material.tabs.TabLayout

我正在尝试实现 Tab Layout 但不幸的是收到此错误,

我已经添加了我的 xml 代码,任何人都可以帮助弄清楚我做错了什么。

以下是我得到的错误日志

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.vvdntech.design_material/com.example.vvdntech.design_material.LoggedIn}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class com.google.android.material.tabs.TabLayout
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2667)
    at android.app.ActivityThread.-wrap11(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:207)
    at android.app.ActivityThread.main(ActivityThread.java:5776)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
 Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class com.google.android.material.tabs.TabLayout
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:467)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
    at com.example.vvdntech.design_material.LoggedIn.onCreate(LoggedIn.java:17)
    at …
Run Code Online (Sandbox Code Playgroud)

android android-tablayout

7
推荐指数
3
解决办法
2万
查看次数

Android如何将TabLayout定位到屏幕底部(适用于Google的材料设计库TabLayout)

我正在尝试使用 TabLayout 与 ViewPager 结合来创建三个可滑动的片段。但是,我遇到了一个问题:我希望 TabLayout 位于屏幕底部,但 ViewPager 强制它位于顶部

TabLayout 曾经位于android.support.design.widget库中。然而,自从 androidx 引入以来,这个库已经发生了变化。新库是com.google.android.material.tabs.TabLayout

以前的(和过时的)帖子(example1example2)建议通过简单地创建一个垂直并将和LinearLayout指定为该垂直的两个单独元素来解决上述问题。ViewPagerTabLayoutLinearLayout

上面的解决方案不再可行,因为现在您必须将 指定为(引用TabLayout)内部的元素,如下所示:ViewPager

<androidx.viewpager.widget.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        >
    </com.google.android.material.tabs.TabLayout>
</androidx.viewpager.widget.ViewPager>
Run Code Online (Sandbox Code Playgroud)

然后,为了“合并”ViewPagerTabLayoutsetupWithViewPager(ViewPager vp)必须在TabLayout实例上调用该方法:

ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
MainPagerAdapter mpa = new MainPagerAdapter(getSupportFragmentManager(), 3);
viewPager.setAdapter(mpa);

TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)

现在,如何通过 xml 代码或以编程方式巧妙地使 TabLayout 转到 ViewPager …

android android-fragments android-viewpager android-tablayout

7
推荐指数
2
解决办法
1545
查看次数