代码贴

  • webview


    activity

  1. package com.example.webview;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;
    import android.widget.ImageView.ScaleType;
    
    public class MainActivity extends ActionBarActivity {
         //创建viewpage   是实现左右两个屏幕平滑地切换的一个类
    	private ViewPager mViewPager;
    	//定义一个整形数组 获取图片id
    	private int[] mImgIds = new int[] { R.drawable.guide_image1,
    			R.drawable.guide_image2, R.drawable.guide_image3 };
    	//ListView是Android软件开发中非常重要组件之一
    	private List<ImageView> mImageViews = new ArrayList<ImageView>();
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		//初始化
    		initData();
    		mViewPager = (ViewPager) findViewById(R.id.id_viewpager);
    		mViewPager.setAdapter(new PagerAdapter() {
    			@Override
    			public Object instantiateItem(ViewGroup container, int position) {
    
    				container.addView(mImageViews.get(position));
    				return mImageViews.get(position);
    			}
    
    			@Override
    			public void destroyItem(ViewGroup container, int position,
    					Object object) {
    
    				container.removeView(mImageViews.get(position));
    			}
    
    			@Override
    			public boolean isViewFromObject(View view, Object object) {
    				return view == object;
    			}
    
    			@Override
    			public int getCount() {
    				return mImgIds.length;
    			}
    		});
    	}
    
    	private void initData() {
    		//循环
    		for (int imgId : mImgIds) {
    //			getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁
    //			Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁
    //			getBaseContext()  返回由构造函数指定或setBaseContext()设置的上下文
    			ImageView imageView = new ImageView(getApplicationContext());
    //			scaleType控制图片如何自动resized、moved来匹配ImageView的大小
    			imageView.setScaleType(ScaleType.CENTER_CROP);
    //			ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。
    			imageView.setImageResource(imgId);
    			mImageViews.add(imageView);
    		}
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    	@Override
    	public boolean onOptionsItemSelected(MenuItem item) {
    		// Handle action bar item clicks here. The action bar will
    		// automatically handle clicks on the Home/Up button, so long
    		// as you specify a parent activity in AndroidManifest.xml.
    		int id = item.getItemId();
    		if (id == R.id.action_settings) {
    			return true;
    		}
    		return super.onOptionsItemSelected(item);
    	}
    }


xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</RelativeLayout>

  • tab

    activity

  • package com.imooc.tab01;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.view.Window;
    import android.widget.ImageButton;
    import android.widget.LinearLayout;
    
    public class MainActivity extends Activity implements OnClickListener
    {
    
    	private ViewPager mViewPager;
    	private PagerAdapter mAdapter;
    //	实现一个PageAdapter的时候,你至少必须要重载(override)下面几个方法:
    //	· instantiateItem(ViewGroup, int)--实例化条目
    //	· destroyItem(ViewGroup, int, Object)--销毁条目
    //	· getCount()--获取条目数量
    //	· isViewFromObject(View, Object)
    	private List<View> mViews = new ArrayList<View>();
    	// TAB
    	
    //	LinearLayout是线性布局控件
    
    	private LinearLayout mTabWeixin;
    	private LinearLayout mTabFrd;
    	private LinearLayout mTabAddress;
    	private LinearLayout mTabSetting;
    
    	private ImageButton mWeixinImg;
    	private ImageButton mFrdImg;
    	private ImageButton mAddressImg;
    	private ImageButton mSettingImg;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		//窗口属性
    		requestWindowFeature(Window.FEATURE_NO_TITLE);
    		setContentView(R.layout.activity_main);
    
    		initView();
    
    		initEvents();
    
    	}
    
    	private void initEvents()
    	{
    		mTabWeixin.setOnClickListener(this);
    		mTabFrd.setOnClickListener(this);
    		mTabAddress.setOnClickListener(this);
    		mTabSetting.setOnClickListener(this);
    
    		mViewPager.setOnPageChangeListener(new OnPageChangeListener()
    		{
    //			onPageSelected(int arg0) :   此方法是页面跳转完后得到调用,
    //			arg0是你当前选中的页面的Position(位置编号)。
    			@Override
    			public void onPageSelected(int arg0)
    			{
    				int currentItem = mViewPager.getCurrentItem();
    				resetImg();
    				switch (currentItem)
    				{
    				case 0:
    					mWeixinImg.setImageResource(R.drawable.tab_weixin_pressed);
    					break;
    				case 1:
    					mFrdImg.setImageResource(R.drawable.tab_find_frd_pressed);
    					break;
    				case 2:
    					mAddressImg
    							.setImageResource(R.drawable.tab_address_pressed);
    					break;
    				case 3:
    					mSettingImg
    							.setImageResource(R.drawable.tab_settings_pressed);
    					break;
    
    				}
    
    			}
    
    			@Override
    			public void onPageScrolled(int arg0, float arg1, int arg2)
    			{
    
    			}
    
    			@Override
    			public void onPageScrollStateChanged(int arg0)
    			{
    
    			}
    		});
    	}
    
    	private void initView()
    	{
    		mViewPager = (ViewPager) findViewById(R.id.id_viewpager);
    		// tabs
    		mTabWeixin = (LinearLayout) findViewById(R.id.id_tab_weixin);
    		mTabFrd = (LinearLayout) findViewById(R.id.id_tab_frd);
    		mTabAddress = (LinearLayout) findViewById(R.id.id_tab_address);
    		mTabSetting = (LinearLayout) findViewById(R.id.id_tab_settings);
    		// ImageButton
    		mWeixinImg = (ImageButton) findViewById(R.id.id_tab_weixin_img);
    		mFrdImg = (ImageButton) findViewById(R.id.id_tab_frd_img);
    		mAddressImg = (ImageButton) findViewById(R.id.id_tab_address_img);
    		mSettingImg = (ImageButton) findViewById(R.id.id_tab_settings_img);
    //		作用: 
    //		1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 
    //		2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById
    //		方法来获得其中的界面元素. 
    		LayoutInflater mInflater = LayoutInflater.from(this);
    		View tab01 = mInflater.inflate(R.layout.tab01, null);
    		View tab02 = mInflater.inflate(R.layout.tab02, null);
    		View tab03 = mInflater.inflate(R.layout.tab03, null);
    		View tab04 = mInflater.inflate(R.layout.tab04, null);
    		mViews.add(tab01);
    		mViews.add(tab02);
    		mViews.add(tab03);
    		mViews.add(tab04);
    
    		mAdapter = new PagerAdapter()
    		{
    
    			@Override
    			public void destroyItem(ViewGroup container, int position,
    					Object object)
    			{
    				container.removeView(mViews.get(position));
    			}
    
    			@Override
    			public Object instantiateItem(ViewGroup container, int position)
    			{
    				View view = mViews.get(position);
    				container.addView(view);
    				return view;
    			}
    
    			@Override
    			public boolean isViewFromObject(View arg0, Object arg1)
    			{
    				return arg0 == arg1;
    			}
    
    			@Override
    			public int getCount()
    			{
    				return mViews.size();
    			}
    		};
    
    		mViewPager.setAdapter(mAdapter);
    
    	}
    
    	@Override
    	public void onClick(View v)
    	{
    		resetImg();
    		switch (v.getId())
    		{
    		case R.id.id_tab_weixin:
    			mViewPager.setCurrentItem(0);
    			mWeixinImg.setImageResource(R.drawable.tab_weixin_pressed);
    			break;
    		case R.id.id_tab_frd:
    			mViewPager.setCurrentItem(1);
    			mFrdImg.setImageResource(R.drawable.tab_find_frd_pressed);
    			break;
    		case R.id.id_tab_address:
    			mViewPager.setCurrentItem(2);
    			mAddressImg.setImageResource(R.drawable.tab_address_pressed);
    			break;
    		case R.id.id_tab_settings:
    			mViewPager.setCurrentItem(3);
    			mSettingImg.setImageResource(R.drawable.tab_settings_pressed);
    			break;
    
    		default:
    			break;
    		}
    	}
    
    	/**
    	 * 将所有的图片切换为暗色的
    	 */
    	private void resetImg()
    	{
    		mWeixinImg.setImageResource(R.drawable.tab_weixin_normal);
    		mFrdImg.setImageResource(R.drawable.tab_find_frd_normal);
    		mAddressImg.setImageResource(R.drawable.tab_address_normal);
    		mSettingImg.setImageResource(R.drawable.tab_settings_normal);
    	}
    
    }

  xml-activity_main

   

<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="match_parent"
    android:orientation="vertical" >

    <include layout="@layout/top" />

    <android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </android.support.v4.view.ViewPager>

    <include layout="@layout/bottom" />

</LinearLayout>

  xml-top,bottom,tab1,tab2,tab3,tab4

<?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="45dp"
    android:background="@drawable/title_bar"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="微信"
        android:textColor="#ffffff"
        android:textSize="20sp"
        android:textStyle="bold" />

</LinearLayout>
<?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="55dp"
    android:background="@drawable/bottom_bar"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/id_tab_weixin"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/id_tab_weixin_img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            android:clickable="false"
            android:src="@drawable/tab_weixin_pressed" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="微信"
            android:textColor="#ffffff" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/id_tab_frd"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/id_tab_frd_img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            android:clickable="false"
            android:src="@drawable/tab_find_frd_normal" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="朋友"
            android:textColor="#ffffff" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/id_tab_address"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/id_tab_address_img"
            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" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/id_tab_settings"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/id_tab_settings_img"
            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" />
    </LinearLayout>

</LinearLayout>

 

<?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" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="This is Weixin Tab"
        android:textSize="30sp"
        android:textStyle="bold" />

</LinearLayout>

  ...........................

你可能感兴趣的:(代码贴)