화면 아래에 Android 태그 표시

11448 단어 Android
아래 라벨의 시비는 잠시 논하지 않겠다.
Design Support LibraryTabLayout을 이용하면 라벨을 화면에 간단하게 표시할 수 있기 때문에 주의해야 한다.

의존 관계

dependencies {
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:design:22.2.0'
}
ViewPager를 사용하기 때문에 Support Library도 필요합니다.

배치

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <android.support.v7.widget.Toolbar
        android:id="@+id/tool_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="?attr/actionBarSize"
        android:layout_alignParentTop="true"
        />
    <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        />
    <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_below="@id/tool_bar"
        android:layout_above="@id/tab_layout"
        />
</RelativeLayout>
ViewPager TabLayout 위에 놓으면 됩니다.

Activity

public class MainActivity extends AppCompatActivity {

    private TabLayout tabLayout;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tabLayout = (TabLayout)findViewById(R.id.tab_layout);
        viewPager = (ViewPager)findViewById(R.id.view_pager);
        final Toolbar mainBar = (Toolbar)findViewById(R.id.tool_bar);
        if (mainBar != null) {
            setSupportActionBar(mainBar);
        }
        initTabLayout();
    }

    private void initTabLayout() {
        final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager());
        viewPager.setAdapter(adapter);
        viewPager.addOnPageChangeListener(adapter);
        tabLayout.setTabsFromPagerAdapter(adapter);
        tabLayout.setupWithViewPager(viewPager);
    }

    private static class PagerAdapter extends FragmentPagerAdapter implements ViewPager.OnPageChangeListener {

        private final int[] colors = {android.R.color.black, android.R.color.holo_red_light, android.R.color.holo_blue_bright};

        public PagerAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);
        }

        @Override
        public Fragment getItem(final int position) {
            return new Fragment(){
                @Nullable
                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                    final TextView content = new TextView(getActivity());
                    content.setText("page  " + position);
                    return content;
                }
            };
        }

        /** 省略 */

        @Override
        public int getCount() {
            return 3;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return "Tab" + position;
        }
    }
}
투박하다.

완성하다



간단해.

좋은 웹페이지 즐겨찾기