java NavigationView侧滑菜单及监听
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java NavigationView侧滑菜单及监听相关的知识,希望对你有一定的参考价值。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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/activity_passwords"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.xunfang.mymd.ui.PasswordsActivity">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="256dp">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<ImageView
android:id="@+id/main.backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/bad2445"
app:layout_collapseParallaxMultiplier="0.7"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_ps"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:minHeight="?android:attr/actionBarSize"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_collapseMode="pin">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:fitsSystemWindows="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary_light"
android:text="*******
二、Print-like Design 打印式风格
Material利用了经典的打印设计,使内容前部和中心的布局变得整洁和简约。刻意大胆的颜色选择,刻意的空白,美观的印刷风格和强烈的格子线条为你创建一种有层次有意义有焦点的效果。
2.1 Typography 活字印刷
Android 5.0更新了Roboto样式,不论多大的text,展示起来都会美观和简洁。添加了一种新的中等高度属性(android:fontFamily=”sans-serif-medium”) 和新的AppAppearance样式为了平衡内容密度和阅读的舒适感,实现了推荐的打印式缩放的。比如你可以简单的通过 android:textAppearance=”@android:style/TextAppearance.Material.Title” 设置 “Title”风格。在旧的版本中可以使用AppCompat support library的样式: “@style/TextAppearance.AppCompat.Title”.
2.2 Color
调色板为你的应用带来了品牌营销和个性化,通过以下属
Material利用了经典的打印设计,使内容前部和中心的布局变得整洁和简约。刻意大胆的颜色选择,刻意的空白,美观的印刷风格和强烈的格子线条为你创建一种有层次有意义有焦点的效果。
2.1 Typography 活字印刷
Android 5.0更新了Roboto样式,不论多大的text,展示起来都会美观和简洁。添加了一种新的中等高度属性(android:fontFamily=”sans-serif-medium”) 和新的AppAppearance样式为了平衡内容密度和阅读的舒适感,实现了推荐的打印式缩放的。比如你可以简单的通过 android:textAppearance=”@android:style/TextAppearance.Material.Title” 设置 “Title”风格。在旧的版本中可以使用AppCompat support library的样式: “@style/TextAppearance.AppCompat.Title”.
2.2 Color
调色板为你的应用带来了品牌营销和个性化,通过以下属
Material利用了经典的打印设计,使内容前部和中心的布局变得整洁和简约。刻意大胆的颜色选择,刻意的空白,美观的印刷风格和强烈的格子线条为你创建一种有层次有意义有焦点的效果。
2.1 Typography 活字印刷
Android 5.0更新了Roboto样式,不论多大的text,展示起来都会美观和简洁。添加了一种新的中等高度属性(android:fontFamily=”sans-serif-medium”) 和新的AppAppearance样式为了平衡内容密度和阅读的舒适感,实现了推荐的打印式缩放的。比如你可以简单的通过 android:textAppearance=”@android:style/TextAppearance.Material.Title” 设置 “Title”风格。在旧的版本中可以使用AppCompat support library的样式: “@style/TextAppearance.AppCompat.Title”.
2.2 Color
调色板为你的应用带来了品牌营销和个性化,通过以下属
Material利用了经典的打印设计,使内容前部和中心的布局变得整洁和简约。刻意大胆的颜色选择,刻意的空白,美观的印刷风格和强烈的格子线条为你创建一种有层次有意义有焦点的效果。
2.1 Typography 活字印刷
Android 5.0更新了Roboto样式,不论多大的text,展示起来都会美观和简洁。添加了一种新的中等高度属性(android:fontFamily=”sans-serif-medium”) 和新的AppAppearance样式为了平衡内容密度和阅读的舒适感,实现了推荐的打印式缩放的。比如你可以简单的通过 android:textAppearance=”@android:style/TextAppearance.Material.Title” 设置 “Title”风格。在旧的版本中可以使用AppCompat support library的样式: “@style/TextAppearance.AppCompat.Title”.
2.2 Color
调色板为你的应用带来了品牌营销和个性化,通过以下属
Material利用了经典的打印设计,使内容前部和中心的布局变得整洁和简约。刻意大胆的颜色选择,刻意的空白,美观的印刷风格和强烈的格子线条为你创建一种有层次有意义有焦点的效果。
2.1 Typography 活字印刷
Android 5.0更新了Roboto样式,不论多大的text,展示起来都会美观和简洁。添加了一种新的中等高度属性(android:fontFamily=”sans-serif-medium”) 和新的AppAppearance样式为了平衡内容密度和阅读的舒适感,实现了推荐的打印式缩放的。比如你可以简单的通过 android:textAppearance=”@android:style/TextAppearance.Material.Title” 设置 “Title”风格。在旧的版本中可以使用AppCompat support library的样式: “@style/TextAppearance.AppCompat.Title”.
2.2 Color
调色板为你的应用带来了品牌营销和个性化,通过以下属
Material利用了经典的打印设计,使内容前部和中心的布局变得整洁和简约。刻意大胆的颜色选择,刻意的空白,美观的印刷风格和强烈的格子线条为你创建一种有层次有意义有焦点的效果。
2.1 Typography 活字印刷
Android 5.0更新了Roboto样式,不论多大的text,展示起来都会美观和简洁。添加了一种新的中等高度属性(android:fontFamily=”sans-serif-medium”) 和新的AppAppearance样式为了平衡内容密度和阅读的舒适感,实现了推荐的打印式缩放的。比如你可以简单的通过 android:textAppearance=”@android:style/TextAppearance.Material.Title” 设置 “Title”风格。在旧的版本中可以使用AppCompat support library的样式: “@style/TextAppearance.AppCompat.Title”.
2.2 Color
调色板为你的应用带来了品牌营销和个性化,通过以下属性可以方便的控制UI的着色:
*************************" />
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
<!--在代码中再填充头部布局-->
<android.support.design.widget.NavigationView
android:id="@+id/passwords_slide_menu"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:fitsSystemWindows="true"
app:menu="@menu/passwords_menu">
</android.support.design.widget.NavigationView>
<RelativeLayout
android:id="@+id/right"
android:layout_width="260dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="#BCEE68">
<ImageView
android:id="@+id/p_pic"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_centerInParent="true"
android:src="@mipmap/p_pic" />
<TextView
android:id="@+id/right_textview"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_below="@id/p_pic"
android:layout_centerHorizontal="true"
android:layout_marginTop="12dp"
android:text="个人中心"
android:textColor="@android:color/black"
android:textSize="14sp" />
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
public class MainActivity extends Activity
implements NavigationView.OnNavigationItemSelectedListener {
private DrawerLayout mDrawerLayout;
private NavigationView mNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mNavigationView = (NavigationView) findViewById(R.id.navigation_view);
//在代码中再填充头部布局;
//如果在布局中添加过了,就会出现两个头部导航
headerview=navigationView.inflateHeaderView(R.layout.header_layout);
ImageView iv= (ImageView) headerview.findViewById(R.id.navigation_header_iv);
TextView tv= (TextView) headerview.findViewById(R.id.navigation_header_tv);
tv.setText((String)SPUtil.get(this,"username","无用户名"));
//显示菜单图标本来的颜色
navigationView.setItemIconTintList(null);
mNavigationView.setNavigationItemSelectedListener(this);
}
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
// int id = menuItem.getItemId();
String title = (String) menuItem.getTitle();
Toast.makeText(this, "您点击了 " + title, Toast.LENGTH_SHORT).show();
return super.onContextItemSelected(menuItem);
}
}
以上是关于java NavigationView侧滑菜单及监听的主要内容,如果未能解决你的问题,请参考以下文章
Android使用ToolBar+DrawerLayout+NavigationView实现侧滑抽屉效果
Android - MD之NavigationView的使用
java 通过使用app:actionLayout或MenuItemCompat.setActionView()能够为抽屉的菜单项添加自定义视图,这使得NavigationView得到了更好的扩展性.