各位看官们大家好,上一回中咱们说的是Android中BottomNavigationView的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在前面章回中介绍了如何使用BottomNavigationView控件,本章回中我们将对它做一个整体的总结,并且提供全部源代码。完整的代码如下:
布局文件如下(在设置控件高度时需要使用weight属性,不然它无法显示在布局最下方)。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/container"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".NaviActivity">        <TextView        android:id="@+id/message"        android:layout_gravity="center"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginStart="@dimen/activity_horizontal_margin"        android:layout_marginLeft="@dimen/activity_horizontal_margin"        android:layout_marginTop="@dimen/activity_vertical_margin"        android:text="@string/title_home" />    <android.support.design.widget.BottomNavigationView        android:id="@+id/navigation"        android:layout_marginBottom="1dp"        android:background="?android:attr/windowBackground"        android:layout_width="match_parent"        android:layout_weight="1"        android:layout_height="0dp"        app:menu="@menu/navigation" />LinearLayout>

布局中使用的menu资源如下:

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">    <item        android:id="@+id/navigation_home"        android:icon="@drawable/ic_home_black_24dp"        android:title="@string/title_home" />    <item        android:id="@+id/navigation_dashboard"        android:icon="@drawable/ic_dashboard_black_24dp"        android:title="@string/title_dashboard" />    <item        android:id="@+id/navigation_notifications"        android:icon="@drawable/ic_notifications_black_24dp"        android:title="@string/title_notifications" />menu>

代码文件如下:

package com.example.talk8.blogappall;import android.content.Intent;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.design.widget.BottomNavigationView;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class NaviActivity extends AppCompatActivity {    private static final String TAG = "NaviActivity xxl";    private TextView mTextMessage;    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener            = new BottomNavigationView.OnNavigationItemSelectedListener() {        @Override        public boolean onNavigationItemSelected(@NonNull MenuItem item) {            switch (item.getItemId()) {                case R.id.navigation_home:                    mTextMessage.setText(R.string.title_home);                    return true;                case R.id.navigation_dashboard:                    mTextMessage.setText(R.string.title_dashboard);                    return true;                case R.id.navigation_notifications:                    mTextMessage.setText(R.string.title_notifications);                    return true;            }            return false;        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_navi);                mTextMessage = (TextView) findViewById(R.id.message);        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);    }}

上面的代码我们大部分是使用AST这个工具生成的,比如菜单项和监听器。毕竟导航菜单也是一种模板,因此工具中包含了此模板,在New Activity时选择Bottom Navigation Activity就可以。不过工具生成的属于模板,我们还需要在模板的基础上进行修改,比如菜单中的项目,图标和背景;监听器中对不同菜单项目的响应。大家可以结合自己项目的需求在工具提供的模板上进行修改。

各位看官,关于Android中BottomNavigationView的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

更多相关文章

  1. 性能优化系列-Android(安卓)内存泄漏例子
  2. 用 Golang 开发 Android(安卓)应用(七)—— OpenCV 使用
  3. Android社交类APP常用的动态消息发布通用模板
  4. 一个使用FFmpeg库读取3gp视频的例子-Android中使用FFmpeg媒体库
  5. 一个使用FFmpeg库读取3gp视频的例子-Android中使用FFmpeg媒体库(
  6. Android分享笔记(6) Android(安卓)自定义UI模板
  7. Android和设计模式:模板模式
  8. Android开发实践:Android.mk模板
  9. android中的autocomplete例子小结

随机推荐

  1. android判断网络
  2. android延时更新UI
  3. Android 万年历日期选择器
  4. android中给用户提醒的三种方式
  5. Android 列表之分组ListView
  6. Android Media Format 支持的格式
  7. Android JetPack-Navigation使用
  8. Android 获取已安装应用使用的Permission
  9. Android获取准确屏幕尺寸
  10. android系统信息,cpu、内存、电池等