其他分享
首页 > 其他分享> > 布局中间的Android标签

布局中间的Android标签

作者:互联网

在布局的中间,我想有2个选项卡,以便在屏幕的下半部分查看2个不同的列表之间进行选择.我怎样才能做到这一点?

这是说明我希望实现的图像.该图像在屏幕中间有一个问题选项卡和一个答案选项卡.根据选择的选项卡,它显示不同的列表视图:

我希望达到同样的目的.

我尝试使用TabHost小部件执行此操作,但对于我来说,我一生都无法摆脱标题栏(我尝试选择不带标题栏的主题,尝试将清单中的主题设置为不带标题栏的主题)

我也尝试过制作动作栏标签,但是这些标签在屏幕顶部.

如何在屏幕中间(如图片中)创建标签?

解决方法:

我今天必须做同样的事情!我尝试使用PagerTabStrip,因为我认为如果没有工具栏,则不能使用TabLayout.原来我错了,它甚至用在Google iosched中.因此,您可以将TabLayout ViewPager放到任何需要的地方.

我知道您想做一些非常自定义的选项卡,如果它们是按钮,则更容易自定义,但是我认为最好使用TabLayout ViewPager,因为它使事情更具可伸缩性.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">

    <LinearLayout
        android:id="@+id/top_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal"></LinearLayout>

    <RelativeLayout
        android:id="@+id/bottom_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/top_layout"
        android:layout_weight="1">

        <android.support.design.widget.TabLayout
            android:id="@+id/pager_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:minHeight="60dp"
            app:tabGravity="fill"
            app:tabIndicatorColor="@color/colorAccentSecondary"
            app:tabMode="fixed"
            app:tabSelectedTextColor="@color/colorAccentSecondary"
            app:tabTextAppearance="@style/TournamentWaitingTimerTabTextAppearance" />

        <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/pager_header"></android.support.v4.view.ViewPager>
    </RelativeLayout>

</LinearLayout>

MainActivity类:

public class MainActivity extends AppCompatActivity {

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

        // Locate the viewpager in activity_main.xml
        ViewPager viewPager = (ViewPager) findViewById(R.id.pager);

        // Set the ViewPagerAdapter into ViewPager
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFrag(new LeftFragment(), "Players");
        adapter.addFrag(new RightFragment(), "Prizes");

        viewPager.setAdapter(adapter);

        TabLayout mTabLayout = (TabLayout) findViewById(R.id.pager_header);
        mTabLayout.setupWithViewPager(viewPager);
    }

    class ViewPagerAdapter extends FragmentStatePagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        public void addFrag(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }
}

您可以更改使用的适配器,没关系.

要自定义标签,我来看看this amazing tutorial.

标签:android-layout,android-tabhost,android,android-tabs
来源: https://codeday.me/bug/20191120/2040677.html