网站建设规模,装修类网站模板下载,抖音开放平台申请,楚雄州建设局网站开发环境#xff1a; 效果图#xff1a; 《《《代码在底部》》》
1#xff0c;新建项目 2#xff0c;新建若干Fragment#xff0c;内容一样#xff0c;改一下显示出来的Text#xff0c;名字分别为test1Fragment,test2Fragment,test3Fragment,默认TextView的Text属性分别…开发环境 效果图 《《《代码在底部》》》
1新建项目 2新建若干Fragment内容一样改一下显示出来的Text名字分别为test1Fragment,test2Fragment,test3Fragment,默认TextView的Text属性分别设置为Fragment1内容,Fragment2内容,Fragment3内容以示区分 3拖拽一个FrameLayout 4,拖拽一个BottomNavigationView 5,调整代码 6新建一个菜单资源给BottomNavigationView使用 7BottomNavigationView和新建的菜单项关联 8进一步调整代码 9MainActivity中的代码 10红色部分导入类即可解决 代码如下
1,nav_menu.xml
?xml version1.0 encodingutf-8?
menu xmlns:androidhttp://schemas.android.com/apk/res/androiditemandroid:idid/navigation_homeandroid:iconandroid:drawable/ic_dialog_mapandroid:titleFrame1 /itemandroid:idid/navigation_toolsandroid:iconandroid:drawable/ic_menu_compassandroid:titleFrame2 /itemandroid:idid/navigation_playandroid:iconandroid:drawable/ic_menu_galleryandroid:titleFrame3 /
/menu
2,activity_main.xml
?xml version1.0 encodingutf-8?
RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivitytools:ignoreExtraTextFrameLayoutandroid:idid/fragment_containerandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_aboveid/nav_menu/com.google.android.material.bottomnavigation.BottomNavigationViewandroid:idid/nav_menuandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_alignParentBottomtrueapp:menumenu/nav_menutools:layout_height50dp //RelativeLayout
3,fragment_test1.xml
?xml version1.0 encodingutf-8?
FrameLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.test1Fragment!-- TODO: Update blank fragment layout --TextViewandroid:idid/text1Fragmentandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:textFragment1内容 //FrameLayout
4,MainActivity.java
package com.example.bottomnavigationviewstudy;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;import android.os.Bundle;
import android.view.MenuItem;import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.navigation.NavigationBarView;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {ArrayListFragment mFragments new ArrayListFragment();test1Fragment t1f new test1Fragment();test2Fragment t2f new test2Fragment();test3Fragment t3f new test3Fragment();Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);BottomNavigationView navView findViewById(R.id.nav_menu);mFragments.add(t1f);mFragments.add(t2f);mFragments.add(t3f);//设置默认加载视图getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new test1Fragment()).commit();// navView 点击事件navView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {Overridepublic boolean onNavigationItemSelected(NonNull MenuItem item) {String a (String) item.getTitle();//判断是哪个item被点击了switch (a) {case Frame2:getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new test2Fragment()).commit();break;case Frame3:getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new test3Fragment()).commit();break;default:getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new test1Fragment()).commit();break;}item.setChecked(true);return true;}});}
}