标签: android-tablayout

TabLayout选择了标签重力

TabLayout设置有ViewPager,有很多标签MODE_SCROLLABLE和keyline app:tabContentStart="72dp".

当用户选择选项卡时,TabLayout尝试将所选选项卡滚动到中心.我希望选中的选项卡与keyline保持对齐,而不是居中.可能吗?

Android设计支持库v22.2.0.

android android-design-library androiddesignsupport android-tablayout

13
推荐指数
2
解决办法
2564
查看次数

如何在TabLayout中的选项卡之间添加边距?

有没有办法在TabLayout中的选项卡之间添加边距?我尝试过为Widget.Design.TabLayout使用自定义样式,但是有些属性只与填充有关,但没有边距.

android android-tablayout

13
推荐指数
4
解决办法
9961
查看次数

使用方法setOffscreenPageLimit()后,FragmentManager已经在执行事务

我有一个带有多个片段的导航抽屉,其中一个是带有两个recyclerview片段的tablayout,在导航抽屉片段之间切换后,RecyclerView项目消失了,我找到了一个解决方案,我需要使用方法setOffscreenPageLimit()和ViewPager但它给了我问题标题中提到的错误

这是我的logcat

java.lang.IllegalStateException: FragmentManager is already executing transactions
                                                                               at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1626)
                                                                               at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:679)
                                                                               at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
                                                                               at android.support.v4.view.ViewPager.populate(ViewPager.java:1240)
                                                                               at android.support.v4.view.ViewPager.populate(ViewPager.java:1088)
                                                                               at android.support.v4.view.ViewPager.setOffscreenPageLimit(ViewPager.java:852)
                                                                               at com.amir.ahmed.EELUStudentUnion.SelectionFragment.setupViewPager(SelectionFragment.java:59)
                                                                               at com.amir.ahmed.EELUStudentUnion.SelectionFragment.onActivityCreated(SelectionFragment.java:40)
                                                                               at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:2089)
                                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1133)
                                                                               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
                                                                               at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
                                                                               at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
                                                                               at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536)
                                                                               at android.os.Handler.handleCallback(Handler.java:739)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                               at android.os.Looper.loop(Looper.java:158)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:7225)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Run Code Online (Sandbox Code Playgroud)

这是标签布局片段代码

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

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

    viewPager.setOffscreenPageLimit(2);

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



private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-tablayout

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

对于片段OneFragment找到ID 0x7f0e00d5(com.example.page:id/dialogViewpager)否视图{:切换器:2131624149:92c0220#1的id = 0x7f0e00d5机器人0}

我想在对话框中显示tabview.我有一个扩展到FragmentActivity的主类文件,我在内部通过调用此方法显示对话框,如下所示.

private void dialogDictionary() {

    final Dialog dialog = new Dialog(this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.dialog_dictionary);
    dialog.setCancelable(true);

    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    ImageView imgDialogDictionaryClose = (ImageView) dialog.findViewById(R.id.imgDialogDictionaryClose);
    imgDialogDictionaryClose.setOnClickListener(v -> dialog.dismiss());

    ViewPager viewPager = (ViewPager) dialog.findViewById(R.id.dialogViewpager);
    setupViewPager(viewPager);

    TabLayout tabLayout = (TabLayout) dialog.findViewById(R.id.dialogTabs);
    tabLayout.setupWithViewPager(viewPager);

    dialog.show();
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new OneFragment(), "ONE");
    adapter.addFragment(new TwoFragment(), "TWO");
    adapter.addFragment(new ThreeFragment(), "THREE");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager …
Run Code Online (Sandbox Code Playgroud)

android dialog android-fragments android-tablayout

13
推荐指数
1
解决办法
266
查看次数

TabLayout的不同选项卡宽度

我正在使用TabLayout和ViewPager.我正在尝试更改Tab的大小,如Whatsapp(相机图标).三个标签的大小相等,但相机的标签较小.在每次尝试中,我都会使Tabs的大小保持不变(在所有选项卡中相等).谢谢.

在此输入图像描述

android android-layout android-fragments android-viewpager android-tablayout

13
推荐指数
2
解决办法
7653
查看次数

以编程方式隐藏/显示AppBarLayout中的android支持设计TabLayout

我想以编程方式隐藏/显示TabLayout我的AppBarLayout.简单地设置可见性VISIBLE并且GONE还不够,因为我希望为更改设置动画并使用我的内容回收空间,同时选项卡撤退并在选项卡显示后退出空间.

下面是我的布局XML的相关部分 -

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

        <android.support.design.widget.TabLayout
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|enterAlways"
            app:tabMode="scrollable"
            android:layout_marginStart="42dp"
            android:layout_marginLeft="42dp"
            style="@style/MainTabLayout">

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

android android-animation android-support-design android-appbarlayout android-tablayout

12
推荐指数
1
解决办法
9605
查看次数

CoordinatorLayout + TabView + AnimateView(从顶部)

Yesterday我有玩CoordinatorLayoutTabView

1)我的目标是什么?

  • CoordinatorLayoutTabView
  • 当我scroll up在那个时候One View表现出来. .GIF move down
  • StickTabView(在AppBar内)的顶部.

在此输入图像描述

2)我到达的地方?

  • CoordinatorLayoutTabView 漂亮的滚动.
  • TabView与Appbar停止滚动顶部然后滚动RecyclerView.

在此输入图像描述

3)我被困在哪里?

  • 当我scroll Up One View向下滚动但TabView Stick At Top不喜欢1st gif.

4)代码段

  • Xml文件

    <android.support.design.widget.AppBarLayout
        android:id="@+id/main.appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <!--- ADD TAB_LAYOUT HERE -->
    
    
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/main.collapsing"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll">
    
            <ImageView
                android:id="@+id/main.backdrop"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                android:src="@drawable/abc"
                app:layout_collapseMode="none" />
    
    
            <!-- ADD ANY THING THAT …
    Run Code Online (Sandbox Code Playgroud)

animation android scroll android-coordinatorlayout android-tablayout

12
推荐指数
1
解决办法
578
查看次数

ViewPager里面的Recyclerview里面的scrollview无法正常工作

我有一个xml布局,其中包含以下视图Scrollview-> RelativeLayout-> Some Views + Tablayout + ViewPager-> Recylerview(在ViewPager的片段中).ViewPager有一些固定的高度(保持它"Wrap_Content"根本不显示它.)现在的问题是Recylerview永远不会滚动.我已经尝试了几个已经发布过的解决方案,例如在"嵌套Scrollview"中使用 Wraping viewpager 或者甚至使LinearLayout成为子项.但没有工作.

下面是我的xml:

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

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/btn_startdraw"
        android:fillViewport="true"
        android:gravity="center">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:padding="@dimen/_5sdp">


            <TextView
                android:id="@+id/invites_accepted"
                style="@style/bodyStyleBlue"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/committee_slots"
                android:text="@string/invites_accepted" />

               <!-- A lot of other Textfields for data display-->

                <android.support.design.widget.TabLayout
                android:id="@+id/tabs_pendingcommittee"
                style="@style/TabStyle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/draw_mode_val"
                app:tabMode="fixed"></android.support.design.widget.TabLayout>b


            <com.apponative.committeeapp.ui.custom.CustomViewPager
                android:id="@+id/pending_member_view"
                android:layout_width="match_parent"
                android:layout_height="@dimen/_250sdp"
                android:layout_below="@+id/tabs_pendingcommittee"
                app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        </RelativeLayout>
    </android.support.v4.widget.NestedScrollView>

    <!-- Some other views on bottom-->
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Viewpager显示的片段有以下布局xml: …

android android-viewpager android-recyclerview android-tablayout

12
推荐指数
2
解决办法
3447
查看次数

TabLayoutMediator 不保留 TabItem 属性

我使用带有预设 TabItems 的 ViewPager2 和 TabLayout 进行了简单设置:

...

        <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabs"
            android:layout_width="0dp"
            android:layout_height="64dp"
            app:tabTextColor="@color/c0696D7"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/palettesToggle"
            app:layout_constraintTop_toTopOf="parent"
            app:tabBackground="@color/cEEEEEE"
            app:tabIndicatorColor="@color/cFFFFFF"
            app:tabGravity="fill"
            app:tabUnboundedRipple="true"
            app:tabIconTint="@color/palettes_icon_tint"
            app:tabIndicatorGravity="stretch"
            app:tabMode="fixed">

            <com.google.android.material.tabs.TabItem android:icon="@drawable/palettes_layers" />

            <com.google.android.material.tabs.TabItem android:icon="@drawable/palettes_view" />

            <com.google.android.material.tabs.TabItem android:icon="@drawable/palettes_properties" />

            <com.google.android.material.tabs.TabItem android:icon="@drawable/palettes_blocks" />

            <com.google.android.material.tabs.TabItem android:icon="@drawable/palettes_blocks" />

            <com.google.android.material.tabs.TabItem android:icon="@drawable/palettes_settings" />

        </com.google.android.material.tabs.TabLayout>

        <androidx.viewpager2.widget.ViewPager2
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/tabs" />

...
Run Code Online (Sandbox Code Playgroud)

以及以下接线代码:

TabLayoutMediator(tabs, viewPager) { tab, position ->

        }.attach()
Run Code Online (Sandbox Code Playgroud)

以下设置忽略了TabItemicon 属性,我看到了空标签。似乎TabLayoutMediator完全覆盖了定义的 xml 属性,我必须将这些属性重置为TabConfigurationStrategy回调的一部分。我错过了什么吗?

android android-tablayout material-components-android android-viewpager2

12
推荐指数
1
解决办法
1676
查看次数

选项卡布局仅在投掷时折叠,而不是在慢速滚动上折叠

对于下面的布局,当我在viewpager中的页面上滚动内容时...如果我将手指放在屏幕上并慢慢向上滚动,则标签布局不会折叠到工具栏中但是如果我将内容放入它确实如此.有什么想法吗?

activity_home.xml

    <layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".newnav.home.HomeActivity">

    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context=".newnav.NavigationActivity">

        <!-- Check whether do we need this surface view still? -->
        <SurfaceView
            android:id="@+id/surfaceView"
            android:layout_width="0dp"
            android:layout_height="0dp" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <com.my.package.view.MyToolBar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:background="@color/primary_color" />

            <FrameLayout
                android:id="@+id/fragment_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_below="@id/toolbar" />

            <com.my.package.view.SomeCustomView
                android:id="@+id/breaking_news_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true" />
        </RelativeLayout>

        <com.my.package.navigation.NavigationLayout
            android:id="@+id/navigation_layout"
            android:layout_width="320dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="@android:color/white"
            android:fitsSystemWindows="true" />
    </android.support.v4.widget.DrawerLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

fragment_home.xml(父布局有工具栏):

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.design.widget.CoordinatorLayout
        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"
            android:background="@color/white" …
Run Code Online (Sandbox Code Playgroud)

android android-coordinatorlayout android-appbarlayout android-tablayout

11
推荐指数
1
解决办法
452
查看次数