-
1/3查看全部
-
Tab类型App的主页面布局方式查看全部
-
Shift+Alt+N可以把一大段代码提取成一个方法查看全部
-
1>点9图不能使用src属性引用,用background引用;查看全部
-
高仿微信主界面查看全部
-
面试微信界面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); }查看全部
-
考虑考虑查看全部
-
ctrl shift t查看全部
-
使用weight使线性布局均分查看全部
-
主要在于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(); } }查看全部
-
希望能做出好的即时通讯项目查看全部
举报
0/150
提交
取消