android——material design实现Tab标签
来源:互联网 发布:索尼手机 知乎 编辑:程序博客网 时间:2024/06/05 20:19
非常简单的实现Tab标签,用Viewpager+Fragment实现的。
有两个关键点:
1、Activity集成FragmentActivity
2、重写FragmentPagerAdapter的适配器
实现:
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" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" android:orientation="vertical"> <!--头部的便签 优点:样式随意定制--> <LinearLayout android:background="#FFD9EC" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:onClick="firstClick" android:id="@+id/first" style="@style/topTextStyle" android:text="1" /> <TextView android:id="@+id/second" style="@style/topTextStyle" android:text="2" /> <TextView android:id="@+id/three" style="@style/topTextStyle" android:text="3" /> </LinearLayout> <View android:layout_width="fill_parent" android:layout_height="1px" android:background="@color/darkcyan" /> <!-- 存放Fragment显示内容--> <android.support.v4.view.ViewPager android:id="@+id/myviewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /></LinearLayout>
Activity:
import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.TextView;import android.widget.Toast;/** * @author huqing * @date 2015/11/17 10:57 */public class Demo2 extends AppCompatActivity { private TextView three; private TextView first; private TextView second; private ViewPager myviewpager; private android.support.v4.app.Fragment fragment = null; private SectionsPagerAdapter mSectionsPagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.acty_demo_two); findView(); initViewPage(); } private void initViewPage() { mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); myviewpager.setAdapter(mSectionsPagerAdapter); myviewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position) { case 0: initAllPic(0); break; case 1: initAllPic(1); break; case 2: initAllPic(2); break; } } @Override public void onPageScrollStateChanged(int state) { } }); } private void findView() { first = (TextView) findViewById(R.id.first); second = (TextView) findViewById(R.id.second); three = (TextView) findViewById(R.id.three); myviewpager = (ViewPager) findViewById(R.id.myviewpager); } private void initAllPic(int i) { first.setTextColor(Color.CYAN); second.setTextColor(Color.CYAN); three.setTextColor(Color.CYAN); if (i == 0) { first.setTextColor(Color.BLUE); } else if (i == 1) { second.setTextColor(Color.BLUE); } else { three.setTextColor(Color.BLUE); } } public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public android.support.v4.app.Fragment getItem(int position) { switch (position) { case 0: fragment = ShouYeFragment.newInstance(); break; case 1: fragment = FenLeiFragment.newInstance(); break; case 2: fragment = GouWuFragment.newInstance(); break; } return fragment; } @Override public int getCount() { return 3; } } private long exitTime = 0; /** * 点击第一个标签 * * @param view */ public void firstClick(View view) { myviewpager.setCurrentItem(0); initAllPic(0); } /** * 双击退出 */ @Override public void onBackPressed() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(Demo2.this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); } }}
0 0
- android——material design实现Tab标签
- Android Material Design 动画实现
- Android Material Design 动画实现
- Android 5.0——Material Design详解
- Android Material Design —— RecyclerView
- Android Material Design —— CoordinatorLayout
- Android学习笔记——Material Design
- Material Design——DrawerLayout+DrawerToggle+Toolbar实现炫酷侧拉动画
- Material Design——CN
- Material Design——BottomNavigationBar
- Material Design——Toolbar
- [Android | Material Design] CollapsingToolbarLayout 使用+标签含义 笔记
- Android开发——Material Design(设计原则)
- ANDROID L——Material Design详解(动画篇)
- ANDROID L——Material Design详解(UI控件)
- ANDROID L——Material Design详解(UI控件)
- ANDROID L——Material Design详解(动画篇)
- ANDROID L——Material Design综合应用(Demo)
- BOS里如何DEP分录字段
- 比较方便的一种点击事件处理
- Android的广播使用
- touchscreen的B协议上报部分
- 用过的pod
- android——material design实现Tab标签
- Android学习-----Android组件通信PendingIntent
- Oracle中执行update语句时卡住的解决方法
- cocospush android
- 17,原码,反码,补码
- c# 程序突然 让win7系统屏幕不能休眠了
- EF 6.0 Code First 迁移MySql数据库
- 按钮随意隐藏于显示
- Windows环境下Android NDK环境搭建