自己测试的,留着以后参考!
布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:baselineAligned="true"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/ll1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:id="@+id/home_n"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/ic_tab_home_p" />
<TextView
android:id="@+id/text_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:text="@string/home"
android:textColor="@android:color/holo_red_light"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:id="@+id/order_n"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/ic_tab_order_n" />
<TextView
android:id="@+id/text_order"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:text="@string/order"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:baselineAligned="false"
android:orientation="vertical">
<ImageView
android:id="@+id/mine_n"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/ic_tab_mine_n" />
<TextView
android:id="@+id/text_mine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:text="@string/mine"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
主界面如下:
package com.jackiee.waimai.activity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.jackiee.waimai.R;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
/**
* Created by baigu on 2016/4/15.
*/
public class MainActivity extends Activity {
private ViewPager viewPager;
private ImageView imageView_home;
private ImageView imageView_order;
private ImageView imageView_mine;
private TextView textView_home;
private TextView textView_order;
private TextView textView_mine;
private LayoutInflater layoutInflater;
private List<View> views = new ArrayList<>();
private PagerAdapter pagerAdapter;
private LinearLayout ll1;
private LinearLayout ll2;
private LinearLayout ll3;
private SwipeRefreshLayout refreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewpager);
imageView_home = (ImageView) findViewById(R.id.home_n);
imageView_order = (ImageView) findViewById(R.id.order_n);
imageView_mine = (ImageView) findViewById(R.id.mine_n);
textView_home = (TextView) findViewById(R.id.text_home);
textView_order = (TextView) findViewById(R.id.text_order);
textView_mine = (TextView) findViewById(R.id.text_mine);
//重要点之一。给viewPager注册事件监听。
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position) {
case 0:
imageView_home.setImageResource(R.drawable.ic_tab_home_p);
imageView_order.setImageResource(R.drawable.ic_tab_order_n);
textView_home.setTextColor(Color.RED);
textView_order.setTextColor(Color.BLACK);
break;
case 1:
imageView_order.setImageResource(R.drawable.ic_tab_order_p);
imageView_home.setImageResource(R.drawable.ic_tab_home_n);
imageView_mine.setImageResource(R.drawable.ic_tab_mine_n);
textView_order.setTextColor(Color.RED);
textView_home.setTextColor(Color.BLACK);
textView_mine.setTextColor(Color.BLACK);
break;
case 2:
imageView_mine.setImageResource(R.drawable.ic_tab_mine_p);
imageView_home.setImageResource(R.drawable.ic_tab_home_n);
imageView_order.setImageResource(R.drawable.ic_tab_order_n);
textView_home.setTextColor(Color.BLACK);
textView_mine.setTextColor(Color.RED);
textView_order.setTextColor(Color.BLACK);
break;
default:
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
layoutInflater = LayoutInflater.from(this);
View view1 = layoutInflater.inflate(R.layout.activity_home, null);
View view2 = layoutInflater.inflate(R.layout.activity_order, null);
View view3 = layoutInflater.inflate(R.layout.activity_mine, null);
views.add(view1);
views.add(view2);
views.add(view3);
//重要点之一
pagerAdapter = new PagerAdapter() {
@Override
public int getCount() {
return views == null ? 0 : views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(views.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(views.get(position));
return views.get(position);
}
};
viewPager.setAdapter(pagerAdapter);
ll1 = (LinearLayout) findViewById(R.id.ll1);
ll2 = (LinearLayout) findViewById(R.id.ll2);
ll3 = (LinearLayout) findViewById(R.id.ll3);
//重要点之一
ll1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPager.setCurrentItem(0);//设置页面
}
});
ll2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPager.setCurrentItem(1);
}
});
ll3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPager.setCurrentItem(2);
}
});
}