-
面试微信界面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
提交
取消