-
面試微信界面de 實現查看全部
-
自定義指示器:(Shift+AltM可抽取方法) mtabline = (ImageView) findViewById(R.id.id_iv_tabline); //獲取屏幕的像素 Display defaultDisplay = getWindow().getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); defaultDisplay.getMetrics(outMetrics); //獲取1/3的屏幕寬度 mScreen1_3 = outMetrics.widthPixels / 3; //給mtabline設置寬度 LayoutParams lp = mtabline.getLayoutParams(); lp.width = mScreen1_3; mtabline.setLayoutParams(lp); LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mTabLine.getLayoutParams(); lp.leftMargin = (int) (positionOffset * mScreen1_3 + position * mScreen1_3); mTabLine.setLayoutParams(lp); 其中的onPageSelected中的position是四舍五入取值的,而onPageScroll中的position是向下取值。查看全部
-
mBadgeView = new WeChatBadgeView(MainActivity.this); mBadgeView.setTargetView(mTextViews.get(position)); mBadgeView.setBadgeCount(10); mBadgeView.setBadgeGravity(Gravity.RIGHT | Gravity.TOP); 通過,setTargetView方法,是可以獲取targetview的parent,然后將BadgeView和targetView組成一個FrameLayout重新加入到parent中。然后,也提供了設置Gravity的方法。查看全部
-
@Override public void onPageSelected(int position) { resetTextView(); switch (position) { case 0: mChatTextView.setTextColor(Color.GREEN); break; case 1: mFriendTextView.setTextColor(Color.GREEN); break; case 2: mContactTextView.setTextColor(Color.GREEN); break; } }查看全部
-
一、建立三個Fragment和相應的xml文件 二、注意一定要導入v4的包 import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; 三、新建initView(): private void initView() { mViewPager = (ViewPager) findViewById(R.id.id_viewpager); 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); }查看全部
-
主要在于ViewPager的使用: 一、利用FragmentPagerAdapter添加tab頁面 二、其次是使用addPagerChangerListener方法添加頁面切換的監聽,在這里可以改變tab標題顏色,設置指示器的跟隨。比如在onPageSelected方法中設置顏色的變化,其次是在onPageScrolled方法中利用ImageView的setTranslationX方法結合position參數和positionOffset設置ImageView的偏移即可 最后BadgeView(其繼承自TextView)中的setTarget放將目標View從其父布局中抽出來,然后使用frameLayout包裝二者的方法. private void forceShowOverflowMenu(boolean flag) { try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class .getDeclaredField("sHasPermanentMenuKey"); if (menuKeyField != null) { menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, flag); } } catch (Exception e) { e.printStackTrace(); } }查看全部
-
希望能做出好的即時通訊項目查看全部
-
筆記不能取消嘛?有時點錯了就一定要寫筆記才行嗎?查看全部
-
badgeView實現數字氣泡查看全部
-
手機像素獲取查看全部
-
直接new FragmentPageradapter()...查看全部
-
Fragment public View onCreatView(LayoutInflater inflater,ViewGroup contain){ return inflater.inflate(R.layout.tab1,container,false);查看全部
-
額。非AS找類名查看全部
-
````查看全部
-
Display display = getWindow().getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); int width = outMetrics.widthPixels/3;查看全部
舉報
0/150
提交
取消