android底部导航栏的优化
来源:互联网 发布:java snmp流量监控 编辑:程序博客网 时间:2024/05/16 11:31
对于导航栏(RadioButton+Fragment)点击返回Fragment时重新加载数据的现象,进行了优化,给用户流畅的体验
xml代码:
<RadioGroup android:layout_alignParentBottom="true" android:id="@+id/footer_menu_radiogroup" android:layout_width="match_parent" android:layout_height="59dp" android:orientation="horizontal" android:gravity="center_vertical"> <RadioButton android:id="@+id/footer_query" android:text="首页" style="@style/radioStyle" android:checked="true" android:drawableTop="@drawable/current_selector"/> <RadioButton android:id="@+id/footer_search" android:text="搜索" style="@style/radioStyle" android:drawableTop="@drawable/bottom_search"/> <RadioButton android:id="@+id/footer_current" android:text="实时" style="@style/radioStyle" android:drawableTop="@drawable/query_selector"/> <RadioButton android:id="@+id/footer_my" android:text="我" style="@style/radioStyle" android:drawableTop="@drawable/current_my"/> </RadioGroup>
Java代码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initRadioGroup(); } private void initData() { HomePageFragment homePageFragment=new HomePageFragment(); SearchFragment searchFragment=new SearchFragment(); CurrentFragment currentFragment=new CurrentFragment(); MyFragment myFragment=new MyFragment(); fragments.add(homePageFragment); fragments.add(searchFragment); fragments.add(currentFragment); fragments.add(myFragment); //默认显示第一个Fragment getSupportFragmentManager().beginTransaction().add(R.id.main_content,homePageFragment).commit(); private void initRadioGroup() { tv = ((TextView) findViewById(R.id.title_text)); footer_menu_radiogroup = (RadioGroup)findViewById(R.id.footer_menu_radiogroup); footer_menu_radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.footer_current: changeFragment(2); tv.setText("实时"); break; case R.id.footer_query: changeFragment(0); tv.setText("首页"); break; case R.id.footer_search: changeFragment(1); tv.setText("搜索"); break; case R.id.footer_my: changeFragment(3); tv.setText("我"); break; } } }); } private void changeFragment(int i) { FragmentTransaction transaction=getSupportFragmentManager().beginTransaction(); Fragment targetFragment=fragments.get(i); Fragment positionFragment=fragments.get(position); if(targetFragment.isAdded()){ transaction.show(targetFragment).hide(positionFragment).commit(); }else{ transaction.add(R.id.main_content,targetFragment).hide(positionFragment).commit(); } position=i; }
0 0
- android底部导航栏的优化
- android底部导航栏
- android底部导航栏
- Android底部导航栏
- android 底部导航栏
- android底部导航栏
- Android 底部导航栏的使用 fragment
- android底部导航栏的程序代码
- JFTabBar android强大的底部导航栏框架 (微信底部导航栏效果)
- Android 实现底部导航栏
- Android 底部导航栏 BottomNavigationBar
- 实现Android底部导航栏
- android高仿微信底部导航栏
- android BottomNavigationView(底部导航栏)
- Android------底部导航栏BottomNavigationBar
- Android实现底部导航栏
- 奇葩的底部导航栏
- Android 大杂烩工程之底部导航栏的实现方式
- spark streaming 2 ReceiverSupervisorImpl
- java类中四大成员的执行顺序
- springmvc浏览器显示jsp源码解决办法
- 优化Mysql数据库的8个方法
- Unity3D——镜面反射原理及实现
- android底部导航栏的优化
- 【codeforces 572A】Arrays
- Android之---自定义view显示一张高清的原图(不压缩,支持拖动,可拓展至缩放手势)
- RxJava详解
- 阿里资深副总裁吴敏芝:新零售时代,小企业更要大数据
- JSP的标签技术
- mysql
- 闭包
- LintCode 189-丢失的第一个正整数