1、main_activity布局代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/top" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
></android.support.v4.view.ViewPager>
<include layout="@layout/buttom"/>
</LinearLayout>
2、buttom导航栏布局代码(top顶部标题和viewpager内容代码,过于简单,就不写了)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bottom_bar"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/weixin"
android:gravity="center"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:clickable="false"
android:id="@+id/Ib_weixin"
android:src="@drawable/tab_weixin_normal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="微信"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/friend"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:clickable="false"
android:id="@+id/Ib_friend"
android:src="@drawable/tab_find_frd_normal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="朋友"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:id="@+id/address"
android:orientation="vertical">
<ImageButton
android:id="@+id/Ib_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:clickable="false"
android:src="@drawable/tab_address_normal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="通讯录"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/setting"
android:gravity="center"
android:orientation="vertical">
<ImageButton
android:id="@+id/Ib_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:clickable="false"
android:src="@drawable/tab_settings_normal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设置"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
3、mian_activity代码
public class MainActivity extends Activity implements View.OnClickListener {
private LinearLayout mWeixin;
private LinearLayout mFriend;
private LinearLayout mAddress;
private LinearLayout mSetting;
private ViewPager mViewpager;
private ImageButton mIb_weixin;
private ImageButton mIb_friend;
private ImageButton mIb_address;
private ImageButton mIb_Setting;
private List<View> mViews = new ArrayList<>();
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// this.getActionBar().hide();
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
initEvent();
}
private void initView() {
mWeixin = (LinearLayout) findViewById(R.id.weixin);
mFriend = (LinearLayout) findViewById(R.id.friend);
mSetting = (LinearLayout) findViewById(R.id.setting);
mAddress = (LinearLayout) findViewById(R.id.address);
mViewpager = (ViewPager) findViewById(R.id.viewpager);
mIb_weixin = (ImageButton) findViewById(R.id.Ib_weixin);
mIb_friend = (ImageButton) findViewById(R.id.Ib_friend);
mIb_address = (ImageButton) findViewById(R.id.Ib_address);
mIb_Setting = (ImageButton) findViewById(R.id.Ib_setting);
LayoutInflater mInflater = LayoutInflater.from(this);
View weixin_content = mInflater.inflate(R.layout.tab01, null);
View friend_content = mInflater.inflate(R.layout.tab02, null);
View address_content = mInflater.inflate(R.layout.tab03, null);
View setting_content = mInflater.inflate(R.layout.tab04, null);
mViews.add(weixin_content);
mViews.add(friend_content);
mViews.add(address_content);
mViews.add(setting_content);
mPagerAdapter = new PagerAdapter() {
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = mViews.get(position);
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mViews.get(position));
}
@Override
public int getCount() {
return mViews.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
};
mViewpager.setAdapter(mPagerAdapter);
}
private void initEvent() {
mWeixin.setOnClickListener(this);
mFriend.setOnClickListener(this);
mAddress.setOnClickListener(this);
mSetting.setOnClickListener(this);
mViewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected ( int position){
int currentItem = mViewpager.getCurrentItem();
Reset_ButtomUI();
switch (currentItem) {
case 0:
mIb_weixin.setImageResource(R.drawable.tab_weixin_pressed);
break;
case 1:
mIb_friend.setImageResource(R.drawable.tab_find_frd_pressed);
break;
case 2:
mIb_address.setImageResource(R.drawable.tab_address_pressed);
break;
case 3:
mIb_Setting.setImageResource(R.drawable.tab_settings_pressed);
break;
}
}
@Override
public void onPageScrollStateChanged ( int state){
}
});
}
@Override
public void onClick (View v){
Reset_ButtomUI();
switch (v.getId()) {
case R.id.weixin:
mViewpager.setCurrentItem(0);
mIb_weixin.setImageResource(R.drawable.tab_weixin_pressed);
break;
case R.id.friend:
mViewpager.setCurrentItem(1);
mIb_friend.setImageResource(R.drawable.tab_find_frd_pressed);
break;
case R.id.address:
mViewpager.setCurrentItem(2);
mIb_weixin.setImageResource(R.drawable.tab_find_frd_pressed);
break;
case R.id.setting:
mViewpager.setCurrentItem(3);
mIb_weixin.setImageResource(R.drawable.tab_settings_pressed);
break;
}
}
//将按钮图片设置为默认颜色
private void Reset_ButtomUI() {
mIb_weixin.setImageResource(R.drawable.tab_weixin_normal);
mIb_address.setImageResource(R.drawable.tab_address_normal);
mIb_friend.setImageResource(R.drawable.tab_find_frd_normal);
mIb_Setting.setImageResource(R.drawable.tab_settings_normal);
}
}