Android实习札记(5)---Fragment之底部导航栏的实现

这篇博客介绍了如何在Android应用中使用Fragment来实现底部导航栏功能。通过展示实现流程图和详细代码,作者逐步讲解了如何创建布局、初始化组件、处理点击事件以及切换Fragment,帮助读者理解这一常见UI设计的实现过程。
摘要由CSDN通过智能技术生成

Android实习札记(5)---Fragment之底部导航栏的实现

——转载请注明出处:coder-pig



在Part 4我们回顾了一下Fragment的基本概念,在本节中我们就来学习Fragment应用的简单例子吧!

就是使用Fragment来实现简单的底部导航栏,先贴下效果图:



看上去很简单,实现起来也是很简单的哈!那么接着下来就看下实现的流程图吧:


实现流程图:




看完流程图是不是有大概的思路了,那么接着就开始代码的编写吧:


代码实现:

①先写布局,布局的话很简单,一个FrameLayout用来放Fragment,底部一个大的LinearLayout

放着三个小Item,每个Item的布局如下:

[html]   view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. <RelativeLayout    
  2.             android:id="@+id/setting_layout"    
  3.             android:layout_width="0dp"    
  4.             android:layout_height="match_parent"    
  5.             android:layout_weight="1" >    
  6.     
  7.             <LinearLayout    
  8.                 android:layout_width="match_parent"    
  9.                 android:layout_height="wrap_content"    
  10.                 android:layout_centerVertical="true"    
  11.                 android:orientation="vertical" >    
  12.     
  13.                 <ImageView    
  14.                     android:id="@+id/setting_image"    
  15.                     android:layout_width="wrap_content"    
  16.                     android:layout_height="wrap_content"    
  17.                     android:layout_gravity="center_horizontal"    
  18.                     android:src="@drawable/ic_tabbar_settings_normal" />    
  19.     
  20.                 <TextView    
  21.                     android:id="@+id/setting_text"    
  22.                     android:layout_width="wrap_content"    
  23.                     android:layout_height="wrap_content"    
  24.                     android:layout_gravity="center_horizontal"    
  25.                     android:text="设置"    
  26.                     android:textColor="#7597B3" />    
  27.             </LinearLayout>    
  28.         </RelativeLayout>    

copy多两个,改下图片,文本资源就可以了,完整布局代码如下:

activity_main.xml

[html]   view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  2.     android:layout_width="match_parent"    
  3.     android:layout_height="match_parent"    
  4.     android:orientation="vertical" >    
  5.       
  6.     <FrameLayout    
  7.         android:id="@+id/content"    
  8.         android:layout_width="match_parent"    
  9.         android:layout_height="0dp"    
  10.         android:layout_weight="1" >    
  11.     </FrameLayout>    
  12.       
  13.     <LinearLayout    
  14.         android:layout_width="match_parent"    
  15.         android:layout_height="60dp"    
  16.         android:background="#FFFFFF" >    
  17.     
  18.         <RelativeLayout    
  19.             android:id="@+id/course_layout"    
  20.             android:layout_width="0dp"    
  21.             android:layout_height="match_parent"
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Fragment实现底部导航栏的跳转,您需要执行以下步骤: 1. 在您的项目中创建一个BottomNavigationView对象,它将用于显示底部导航栏。 2. 创建多个Fragment类,每个类都代表底部导航栏的一个选项。 3. 在您的Activity类中,创建一个FragmentManager对象并使用beginTransaction()方法开始一个新的FragmentTransaction。 4. 在FragmentTransaction中,使用add()方法将您的第一个Fragment添加到Activity中。同时,将BottomNavigationView的setOnNavigationItemSelectedListener()方法定义为一个监听器,以便在用户点击底部导航栏时执行相应的操作。 5. 在监听器中,使用replace()方法切换到用户选择的Fragment。 以下是一个简单的示例代码,可以帮助您更好地理解如何使用Fragment实现底部导航栏的跳转: ``` public class MainActivity extends AppCompatActivity { private BottomNavigationView bottomNavigationView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bottomNavigationView = findViewById(R.id.bottom_navigation); // 设置默认选中项 bottomNavigationView.setSelectedItemId(R.id.navigation_home); // 设置监听器 bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { Fragment fragment; switch (menuItem.getItemId()) { case R.id.navigation_home: fragment = new HomeFragment(); break; case R.id.navigation_dashboard: fragment = new DashboardFragment(); break; case R.id.navigation_notifications: fragment = new NotificationsFragment(); break; default: return false; } getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, fragment) .commit(); return true; } }); } } ``` 在这个例子中,我们首先获取了一个BottomNavigationView对象,并将其与我们的布局文件关联。我们还设置了默认选中项并添加了一个监听器。 在监听器中,我们使用了一个switch语句来确定用户选择了哪个选项。然后我们创建了相应的Fragment,并使用replace()方法将其添加到Activity中。 请注意,我们使用了一个FrameLayout来承载我们的Fragment。您需要在布局文件中添加一个类似的视图,以便能够动态添加和删除Fragment。 希望这可以帮助您开始使用Fragment实现底部导航栏的跳转。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值