亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

mViewPage.setCurrentItem(mData.size()-1) 設置默認選項出現問題.


http://img1.sycdn.imooc.com//5833a0e300015a1506291012.jpg


package?com.imooc.weixin;

import?java.util.ArrayList;
import?java.util.List;

import?android.graphics.Color;
import?android.os.Bundle;
import?android.support.v4.app.Fragment;
import?android.support.v4.app.FragmentActivity;
import?android.support.v4.app.FragmentPagerAdapter;
import?android.support.v4.view.ViewPager;
import?android.support.v4.view.ViewPager.OnPageChangeListener;
import?android.util.DisplayMetrics;
import?android.util.Log;
import?android.view.Display;
import?android.view.ViewGroup.LayoutParams;
import?android.view.Window;
import?android.widget.ImageView;
import?android.widget.LinearLayout;
import?android.widget.TextView;

import?com.jauker.widget.BadgeView;

public?class?MainActivity?extends?FragmentActivity?{
	private?ViewPager?mViewPager;
	private?FragmentPagerAdapter?mAdapter;
	private?List<Fragment>?mDatas;

	private?TextView?mChatTextView;
	private?TextView?mFriendTextView;
	private?TextView?mContactTextView;
	private?LinearLayout?mChatLinearLayout;
	private?BadgeView?mBadgeView;

	private?ImageView?mTabline;
	private?int?mScreen1_3;

	private?int?mCurrentPageIndex;

	@Override
	protected?void?onCreate(Bundle?savedInstanceState)?{
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);

		initTabLine();
		initView();
		
		mViewPager.setCurrentItem(mDatas.size()-1);
	}

	private?void?initTabLine()?{
		mTabline?=?(ImageView)?findViewById(R.id.id_iv_tabline);
		Display?display?=?getWindow().getWindowManager().getDefaultDisplay();
		DisplayMetrics?outMetrics?=?new?DisplayMetrics();
		display.getMetrics(outMetrics);
		mScreen1_3?=?outMetrics.widthPixels?/?3;
		LayoutParams?lp?=?mTabline.getLayoutParams();
		lp.width?=?mScreen1_3;
		mTabline.setLayoutParams(lp);
	}

	private?void?initView()?{
		mViewPager?=?(ViewPager)?findViewById(R.id.id_viewpager);
		mChatTextView?=?(TextView)?findViewById(R.id.id_tv_chat);
		mFriendTextView?=?(TextView)?findViewById(R.id.id_tv_friend);
		mContactTextView?=?(TextView)?findViewById(R.id.id_tv_contact);
		mChatLinearLayout?=?(LinearLayout)?findViewById(R.id.id_ll_chat);

		mDatas?=?new?ArrayList<Fragment>();

		ChatMainTabFragment?tab01?=?new?ChatMainTabFragment();
		FriendMainTabFragment?tab02?=?new?FriendMainTabFragment();
		ContactMainTabFragment?tab03?=?new?ContactMainTabFragment();

		mDatas.add(tab01);
		mDatas.add(tab02);
		mDatas.add(tab03);

		mAdapter?=?new?FragmentPagerAdapter(getSupportFragmentManager())?{
			@Override
			public?int?getCount()?{
				return?mDatas.size();
			}

			@Override
			public?Fragment?getItem(int?arg0)?{
				return?mDatas.get(arg0);
			}
		};
		mViewPager.setAdapter(mAdapter);

		mViewPager.addOnPageChangeListener(new?OnPageChangeListener()?{
			@Override
			public?void?onPageSelected(int?position)?{
				resetTextView();
				switch?(position)?{
				case?0:
					if?(mBadgeView?!=?null)?{
						mChatLinearLayout.removeView(mBadgeView);
					}
					mBadgeView?=?new?BadgeView(MainActivity.this);
					mBadgeView.setBadgeCount(7);
					mChatLinearLayout.addView(mBadgeView);

					mChatTextView.setTextColor(Color.parseColor("#008000"));
					break;
				case?1:
					mFriendTextView.setTextColor(Color.parseColor("#008000"));
					break;
				case?2:
					mContactTextView.setTextColor(Color.parseColor("#008000"));
					break;

				}

				mCurrentPageIndex?=?position;

			}

			@Override
			public?void?onPageScrolled(int?position,?float?positionOffset,
					int?positionOffsetPx)?{
				Log.e("TAG",?position?+?"?,?"?+?positionOffset?+?"?,?"
						+?positionOffsetPx);

				LinearLayout.LayoutParams?lp?=?(android.widget.LinearLayout.LayoutParams)?mTabline
						.getLayoutParams();

				if?(mCurrentPageIndex?==?0?&&?position?==?0)//?0->1
				{
					lp.leftMargin?=?(int)?(positionOffset?*?mScreen1_3?+?mCurrentPageIndex
							*?mScreen1_3);
				}?else?if?(mCurrentPageIndex?==?1?&&?position?==?0)//?1->0
				{
					lp.leftMargin?=?(int)?(mCurrentPageIndex?*?mScreen1_3?+?(positionOffset?-?1)
							*?mScreen1_3);
				}?else?if?(mCurrentPageIndex?==?1?&&?position?==?1)?//?1->2
				{
					lp.leftMargin?=?(int)?(mCurrentPageIndex?*?mScreen1_3?+?positionOffset
							*?mScreen1_3);
				}?else?if?(mCurrentPageIndex?==?2?&&?position?==?1)?//?2->1
				{
					lp.leftMargin?=?(int)?(mCurrentPageIndex?*?mScreen1_3?+?(positionOffset?-?1)
							*?mScreen1_3);
				}
				mTabline.setLayoutParams(lp);

			}

			@Override
			public?void?onPageScrollStateChanged(int?arg0)?{
				//?TODO?Auto-generated?method?stub

			}
		});

	}

	protected?void?resetTextView()?{
		mChatTextView.setTextColor(Color.BLACK);
		mFriendTextView.setTextColor(Color.BLACK);
		mContactTextView.setTextColor(Color.BLACK);
	}

}


mViewPager.setCurrentItem(mDatas.size()-1);


這一行

只要是設置了默認選中最后一頁的時候,就會出現這個問題.不是最后的一頁就不會.




正在回答

舉報

0/150
提交
取消
高仿微信5.2.1主界面及消息提醒
  • 參與學習       57916    人
  • 解答問題       178    個

本課程將帶領大家從無到有的實現微信的整體界面

進入課程

mViewPage.setCurrentItem(mData.size()-1) 設置默認選項出現問題.

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號