美文网首页
WanAndroid-1

WanAndroid-1

作者: 努力生活的西鱼 | 来源:发表于2019-05-12 22:21 被阅读0次

    WanAndroid

    1. overridePendingTransition

    overridePendingTransition(int enterAnim, int exitAnim)
    Activity的切换动画指的是从一个Activity跳转到另外一个Activity时的动画。

    enterAnim: 新的Activity进入时的动画
    exitAnim: 旧的Activity出去时的动画

    调用时机
    onCreate之前调用
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);//进入的动画
        super.onCreate(savedInstanceState);
        //overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);//此处设置无效
    }
    
    finish()之后调用
    @Override
    public void finish() {
        //overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);// 次数调用无效
        super.finish();
        overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);//结束的动画
    }
    

    2. Material Design 布局

    <?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:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".modules.main.ui.activity.MainActivity">
    
        <!--主视图-->
        <android.support.design.widget.CoordinatorLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <include layout="@layout/toolbar" />
    
            <FrameLayout
                android:id="@+id/fragment_group"
                android:layout_width="match_parent"
                android:layout_height="match_parent"></FrameLayout>
    
            <android.support.design.widget.FloatingActionButton
                android:id="@+id/main_floating_action_btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|end"
                android:layout_marginEnd="16dp"
                android:layout_marginBottom="60dp"
                android:src="@drawable/ic_arrow_upward_white_24dp"
                app:backgroundTint="@color/floating_button" />
    
            <!--底部导航-->
            <android.support.design.widget.BottomNavigationView
                android:id="@+id/bottom_navigation_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:background="@color/bottom_nav_bg"
                app:elevation="16dp"
                app:itemIconTint="@drawable/nav_item_color_selector"
                app:itemTextColor="@drawable/nav_item_color_selector"
                app:labelVisibilityMode="labeled"
                app:menu="@menu/bottom_navigation">
    
            </android.support.design.widget.BottomNavigationView>
    
        </android.support.design.widget.CoordinatorLayout>
    
        <!--侧滑界面-->
        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="@color/view_bg"
            app:headerLayout="@layout/nav_header"
            app:insetForeground="@android:color/transparent"
            app:itemIconTint="@color/nav_item_color_ic"
            app:itemTextColor="@color/nav_item_color_tv"
            app:menu="@menu/nav_menu">
    
        </android.support.design.widget.NavigationView>
    
    </android.support.v4.widget.DrawerLayout>
    

    DrawerLayout

    <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:layout_width="match_parent"
        android:layout_height="match_parent" />
    

    DrawerLayout(抽屉布局),只可以有两个子布局,第一个布局为主页面的布局,第二个布局侧滑的布局。注意布局不一定是NavigationView

    NavigationView

    是侧滑的布局控件。
    如下图所示,这几个较为重要的属性


    20180917114155675.png

    @layout/nav_header布局
    这个布局就是一个普通的布局

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:background="@drawable/navigation_bg"
        android:padding="10dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark"
        android:fitsSystemWindows="true">
    
        <ImageView
            android:id="@+id/icon_image"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="24dp"
            android:src="@drawable/ic_author_round"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <TextView
            android:id="@+id/nav_header_login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="@string/login_in"
            android:textColor="@color/nav_header_tv"
            android:textSize="20sp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/icon_image" />
    </android.support.constraint.ConstraintLayout>
    
    @menu/nav_menu布局
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    
        <group>
            <item
                android:id="@+id/nav_item_my_collect"
                android:icon="@drawable/icon_like"
                android:title="@string/my_collect" />
            <item
                android:id="@+id/nav_item_todo"
                android:icon="@drawable/ic_todo_default"
                android:title="@string/nav_todo" />
            <item
                android:id="@+id/nav_item_night_mode"
                android:icon="@drawable/ic_night"
                android:title="@string/nav_night_mode"/>
    
            <item
                android:id="@+id/nav_item_setting"
                android:icon="@drawable/ic_setting"
                android:title="@string/setting"/>
    
            <item
                android:id="@+id/nav_item_about_us"
                android:icon="@drawable/ic_about"
                android:title="@string/about_us"/>
    
            <item
                android:id="@+id/nav_item_logout"
                android:icon="@drawable/ic_logout"
                android:title="@string/logout"/>
        </group>
    
    </menu>
    

    app:itemIconTint: 图标的颜色
    app:itemTextColor: 文字的颜色
    app:insetForeground: 打开侧边栏的时候,顶部的状态栏透明

    相关文章

      网友评论

          本文标题:WanAndroid-1

          本文链接:https://www.haomeiwen.com/subject/hiwhaqtx.html