1.用Fragment去填充一个空布局(FramLayout)
<span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">private void initFragment() {
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();// 开启事务
transaction.replace(R.id.fl_left_menu, new LeftMenuFragment(),
FRAGMENT_LEFT_MENU);// 用fragment替换framelayout
transaction.replace(R.id.fl_content, new ContentFragment(),
FRAGMENT_CONTENT);
transaction.commit();// 提交事务
// Fragment leftMenuFragment = fm.findFragmentByTag(FRAGMENT_LEFT_MENU);
}</span></span></span></span></span>
2. RadioButton
<span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"> <!-- 低栏RadioButton的样式 -->
<style name="BottomTabStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_gravity">center_vertical</item>
<item name="android:button">@null</item>
<item name="android:drawablePadding">3dp</item>
<item name="android:padding">5dp</item>
<item name="android:textColor">@drawable/btn_tab_text_selector</item>
<item name="android:layout_weight">1</item>
<item name="android:gravity">center</item>
</style></span></span></span>
选择器
<span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/home_press" android:state_checked="true"/>
<item android:drawable="@drawable/home"/>
</selector></span></span></span>
3.获取fragment依附的Activity
mActivity = getActivity();
从而使用某些只有在Activity中才可以使用的方法
4.子类必须实现的方法
public abstract View initViews();
5.要想ViewPager没有滑动,因为ViewPager底层已经实现了滑动事件,所以要自定义一个ViewPager,重写滑动事件 ----OnTouchEvent()
6.写Fragment,继承等,传递一个activity,方便调用方法
7.RadioButton的RadioGroup监听选择的是哪个
<span style="font-size:14px;">// 监听RadioGroup的选择事件
rgGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb_home:
// mViewPager.setCurrentItem(0);// 设置当前页面
mViewPager.setCurrentItem(0, false);// 去掉切换页面的动画
break;
case R.id.rb_news:
mViewPager.setCurrentItem(1, false);// 设置当前页面
break;
case R.id.rb_smart:
mViewPager.setCurrentItem(2, false);// 设置当前页面
break;
case R.id.rb_gov:
mViewPager.setCurrentItem(3, false);// 设置当前页面
break;
case R.id.rb_setting:
mViewPager.setCurrentItem(4, false);// 设置当前页面
break;
default:
break;
}
}
});</span>
8.ViewPager设置当前页面
viewpager.setCurrentItem(0, false);// 去掉切换页面的动画
9.在MainActivity中:SlidingMenu slidingMenu = getSlidingMenu();// 获取侧边栏对象
通过传递activity,getActivity。其它的fragment也可以用:
MainActivity mainUi = (MainActivity) mActivity;
SlidingMenu slidingMenu = mainUi.getSlidingMenu();
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); //不可以滑动出来
10.ViewPager监听选择哪个Pager
<span style="font-size:14px;"> viewpager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
mPagerList.get(arg0).initdata();// 获取当前被选中的页面, 初始化该页面数据
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});</span>
1.5天代码见云盘