为了账号安全,请及时绑定邮箱和手机立即绑定

如何实现一个 TabLayout,其中的选项卡从左或右开始,但不是居中?

如何实现一个 TabLayout,其中的选项卡从左或右开始,但不是居中?

FFIVE 2023-03-31 16:35:35
我如何实现一个TabLayout,其中选项卡从左侧或右侧开始,但不是从中心开始。TabLayout, 有一个属性app:tabGravity="center", 但我怎样才能安排我的标签, 在一个特定的位置, 左或右?非常感谢。
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

下面是为我工作。


选项卡将显示在最左边。


<?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:orientation="vertical">


    <android.support.design.widget.AppBarLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_marginStart="2dp"

        android:layout_marginTop="2dp"

        app:layout_scrollFlags="scroll|enterAlways|snap">


        <android.support.design.widget.TabLayout

            android:id="@+id/tabs"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_margin="0dp"

            android:background="?attr/colorPrimary"

            android:elevation="6dp"

            android:minHeight="?attr/actionBarSize"

            app:tabGravity="fill"

            app:tabMode="scrollable"

            app:tabPaddingEnd="10dp"

            app:tabPaddingStart="20dp" />


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


    <android.support.v4.view.ViewPager

        android:id="@+id/view_pager"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        app:layout_behavior="@string/appbar_scrolling_view_behavior" />


</RelativeLayout>

MainActivity.java


public class MainActivity extends AppCompatActivity {


    //This is our tablayout

    private TabLayout tabLayout;


    //This is our viewPager

    private ViewPager viewPager;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        tabLayout = findViewById(R.id.tabs);

        viewPager = findViewById(R.id.view_pager);


        tabLayout.addTab(tabLayout.newTab().setText("Tab1"));

       // tabLayout.addTab(tabLayout.newTab().setText("Tab2"));

       // tabLayout.addTab(tabLayout.newTab().setText("tab3"));


        Pager adapter = new Pager(getSupportFragmentManager(), tabLayout.getTabCount());

        viewPager.setAdapter(adapter);


    }

让我知道更多查询。}


查看完整回答
反对 回复 2023-03-31
?
HUX布斯

TA贡献1876条经验 获得超6个赞

这是截图,如果可能的话,可以了解更多关于我的想法的信息。

如果可能的话,我想将“Inizio Sessione”选项卡从中间移动到左侧或右侧。

谢谢。

这是代码:

   <?xml version="1.0" encoding="utf-8"?>

<RelativeLayout 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/apk/res-auto"

    android:orientation="vertical"

    xmlns:tools="http://schemas.android.com/tools"

    tools:context=".fragments.StartSessionContainerFragment">


    <android.support.design.widget.AppBarLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_marginStart="2dp"

        android:layout_marginTop="2dp"

        app:layout_scrollFlags="scroll|enterAlways|snap">


        <android.support.design.widget.TabLayout

            android:id="@+id/tabs"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:elevation="6dp"

            android:minHeight="?attr/actionBarSize"

            android:layout_margin="0dp"

            app:tabPaddingStart="20dp"

            app:tabPaddingEnd="10dp"

            app:tabGravity="center"

            app:tabMode="scrollable"

            android:layout_gravity="left"

            android:background="?attr/colorPrimary" />


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


    <android.support.v4.view.ViewPager

        android:id="@+id/view_pager"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        app:layout_behavior="@string/appbar_scrolling_view_behavior" />


</RelativeLayout>


查看完整回答
反对 回复 2023-03-31
?
GCT1015

TA贡献1827条经验 获得超4个赞

简单的方法是您可以简单地执行下面的代码并将您想要的任何选项卡设置为默认选项卡;

viewPager.setCurrentItem(2);


查看完整回答
反对 回复 2023-03-31
  • 3 回答
  • 0 关注
  • 259 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信