- 一 - 水波纹过渡特效(首页)
- 二 - ViewPager 渲染背景颜色渐变(引导页)
- 三 - 自定义不一样的 Toast
- 四 - APP 主页框架 TabHost 绑定 ViewPager 的替换者 TabLayout
- 五 - 自定义圆形头像和仿 MIUI 卸载动画 - 粒子爆炸
- 六 - 仿 QQ 聊天撒花特效,无形装逼,最为致命
- 七 - 飞机升空特效,一键清理缓存,灵活运用动画会有不一样的感受
- 八 - 实现心型起泡飞舞的特效,让你的 APP 瞬间暖心
- 九 - 仿微信雷达搜索好友特效,逻辑清晰实现简单
- 十 - 点击水波纹效果实现,逻辑清晰实现简单
- 十一 - 仿水波纹流量球进度条控制器,实现高端大气的主流特效
- 十二 - 仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的 View
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
四 - APP 主页框架 TabHost 绑定 ViewPager 的替换者 TabLayout
现在很多 app 都在追求简单明了,功能又要强大,不过我还是喜欢之前的 app 风格,就是 TabHost,在现在也是有许多 app 在用,不过选项卡可能都放在下面了,我们想要 tabhost 有 viewpager 的滑动效果,其实也很简单,那就是 fragment,在这之前,我都是很复杂的把它们全部绑定在一起联动的,但是现在就要简单很多了 ,我们用 Android Studio 开发
先看下效果图吧
我们这次使用到的是 TabLayout
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/id_tab_layout"
android:background="#ffffff"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabIndicatorColor="#0ddcff"
app:tabTextColor="#000000"
app:tabSelectedTextColor="#0ddcff"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/id_view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>
</LinearLayout>
MainActivity
package com.app.gaohailong.festivalmessage;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private TabLayout mTablayout;
private ViewPager mViewPager;
private String[] mTitles = new String[]{"节日短信", "发送记录", "个人设置"};
private List<Fragment> mFragments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}
private void initViews() {
//初始化 View
mTablayout = (TabLayout) findViewById(R.id.id_tab_layout);
mViewPager = (ViewPager) findViewById(R.id.id_view_pager);
//初始化 List<Fragment>
mFragments = new ArrayList<>();
Fragment mFestivalFragment = new FestivalFragment();
Fragment mRecordFragment = new RecordFragment();
Fragment myFragment = new MyFragment();
mFragments.add(mFestivalFragment);
mFragments.add(mRecordFragment);
mFragments.add(myFragment);
//给 ViewPage 设置 Adapter
mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mTitles[position];
}
});
mTablayout.setupWithViewPager(mViewPager);
}
}
记得添加源
compile 'com.android.support:design:23.1.1'
这样就可以了,是不是非常的简单?你也可以去试试呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论