- 一、类微信界面的功能
- 二、布局
- 三、MainActivity
- 四、activity_main.xml
- 五、其余Java文件(分别调用四个界面)
- 1.bookmark_Fragment.xml
- 2.call_Fragment.xml
- 3.home_Fragment.xml
- 4.search_Fragment.xml
- 六、运行界面
1.可展示出四个可切换界面:Home、Search、Bookmark、Call;
2.上方栏标题居中,界面中间显示内容,内容随下方栏的选择而切换,下方栏可点击切换,点击过的界面的图标为绿色,没有点击的界面的图标为灰色;
3.主要从top、bottom、中间布局以及MainActivity四个方面分析。
三、MainActivity
activity_main.xml里需要加上frameLayout(重叠布局)和include
package com.example.homework;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import android.content.ClipData;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Switch;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity {
BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView bottomNavigationView=findViewById(R.id.bottomNav);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuitem) {
Fragment fragment= null;
switch (menuitem.getItemId()){
case R.id.home:
fragment= new HomeFragment();
break;
case R.id.search:
fragment= new SearchFragment();
break;
case R.id.bookmark:
fragment= new BookmarkFragment();
break;
case R.id.call:
fragment= new CallFragment();
}
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.framentContainer,fragment)
.commit();
return true;
}
});
}
}
四、activity_main.xml
五、其余Java文件(分别调用四个界面) 1.bookmark_Fragment.xml
2.call_Fragment.xml
3.home_Fragment.xml
4.search_Fragment.xml
六、运行界面
MainActivity代码块
activity_main.xml代码块



