替代TabActivity,底部菜单主框架搭建
来源:互联网 发布:大数据hadoop生态圈 编辑:程序博客网 时间:2024/05/16 18:29
看到还有些人在使用TabActvity,这个已经被Google废弃了的类,为了大家方便,写了一个能代替TabActivity的东西。说白了也就是对viewpager跟底部菜单进行了一个封装,标准的底部菜单自定义控件已经写好,如果有另外的需求扩展底部菜单控件即可(继承BindPagerAdapterView)。
先上个效果图:
使用方式见代码:
package com.example.tabtest;import com.idroid.tab.TabFrgmAdapter;import com.idroid.tab.TabSelectView;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.support.v4.view.ViewPager;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager); viewPager.setAdapter(new TabFrgmAdapter(getSupportFragmentManager(), AFrgm.class, BFrgm.class, CFrgm.class)); TabSelectView mTabsView = (TabSelectView) findViewById(R.id.tabs); mTabsView.setViewPager(viewPager); final String[] strs = new String[] { "首页", "第二页", "我" }; final int[] images = new int[] { R.drawable.image_slt, R.drawable.image_slt, R.drawable.image_slt }; mTabsView.setAdapter(new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = View.inflate(parent.getContext(), R.layout.tab_item, null); ImageView image = (ImageView) convertView.findViewById(R.id.item_image); image.setImageResource(images[position]); TextView textView = (TextView) convertView.findViewById(R.id.item_text); textView.setText(strs[position]); return convertView; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public int getCount() { // TODO Auto-generated method stub return strs.length; } }); mTabsView.setCurrentItem(0); }}
其中有一个注意点,选中图片需要根据android:state_selected=”true”设置,如果用pressed,在跳转时,会丢失pressed状态,图片变成未选中的样式。
我在上线的项目中已经使用了该UI框架,使用过程中很容易满足美工的设计,推荐大家使用。而且本身它也是可扩展的,重写onlayout方法即可。
Demo下载地址
GitHub:TabView
0 0
- 替代TabActivity,底部菜单主框架搭建
- Android开发底部菜单框架
- TabActivity底部菜单栏
- Android自定义TabActivity(实现仿新浪微博底部菜单更新UI)
- ViewPager+Fragment+RadioButton替代TabActivity
- Android中的底部菜单框架(Fragment)
- 自定义Tabactivity, tab在底部
- 通过TabActivity创建底部菜单栏
- 使用TabActivity实现底部菜单栏
- TabActivity自定义底部导航栏
- 底部菜单
- [有源码]ViewPager+Fragment+RadioButton替代TabActivity
- 【有源码】ViewPager+Fragment+RadioButton替代TabActivity
- 关于TabActivity的菜单点击
- 使用RadioGroup和ViewPager搭建底部tab菜单项
- Android之底部導航欄--RadioGroup、TabHost、TabActivity
- Android 底部TabActivity——FragmentActivity
- 回顾--使用TabActivity实现底部菜单栏
- C++面试题
- UVa 1225 - Digit Counting
- NOI 2015 day1 T2 软件包管理器
- 优化tableView性能(针对滑动时出现卡的现象)
- Android中的测试
- 替代TabActivity,底部菜单主框架搭建
- 做技术是否需要培训、考证
- Android设计模式之工厂模式 Factory
- 爬虫、网页分析解析辅助工具 Xpath-helper
- 黑马程序员--oc语言类和对象
- ZooKeeper=Util 重复注册监听节点
- UIScrollView 实践经验
- iOS页面跳转传递数据之block的使用
- iOS概念入门学习-Foundation框架-Block