• 《Android进阶之光》--Material Design


    接上篇《Android进阶之光》--Android新特性

    No1:

    组件:

    1)底部工作条-Bottom Sheets

    2)卡片-Cards

    3)提示框-Dialogs

    4)菜单-Menus

    5)选择器

    6)滑块控件-Sliders

    7)进度和动态

    8)Snackbar(底部可操作弹出框)与Toast

    9)Tab

    No2:

    Snackbar

    包含了文字信息和一个可选的操作按钮

    Snackbar.make(activity_main,"标题",Snackbar.LENGTH_LONG)
        .setAction("点击事件",new View.OnClickListener(){
        @Override
        public void onClick(View v){
            Toast.makeText(
                MainActivity.this,
                "Toast",
                Toast.LENGTH_LONG).show();
        }
    }).setDuration(Snackbar.LENGTH_LONG).show();

    make第一个参数是View类型的参数,是Snackbar的父控件

    No3:

    TextInputLayout输入框容器(hint上浮,错误提示下方显示)

    效果图

    <android.support.design.widget.TextInputLayout
        android:id="@+id/t1_username"
        android:layout_width="match_parent"
        android:layout_height="warp_content"
        android:layout_centerInParent="true">
        <EditText
            android:id="@+id/et_username"
            android:layout_width="match_parent"
            android:layout_height="warp_content"
            android:hint="username"
            android:maxLength="25"
            android:maxLines="1"/>
    </android.support.design.widget.TextInputLayout>
    private void login(){
        String username = t1_username.getEditText().getText().toString();
        String password = t1_password.getEditText().getText().toString();
        if(!validateUserName(username)){
            t1_username.setErrorEnabled(true);
            t1_username.setError("请输入正确的邮箱地址");
        }else if(!validatePassword(password)){
            t1_password.setErrorEnabled(true);
            t1_password.setError("密码数字过少");
        }else{
            t1_username.setErrorEnabled(false);
            t1_password.setErrorEnabled(false);
            Toast.makeText(getApplicationContext(),"登陆成功",Toast.LENGTH_SHORT).show();
        }
    }

    No4:

    自定义Bahavior

    CoordinatorLayout中最经典的设计就是Bahavior,app:layout_behavior="@string/appbar_scrolling_view_behavior"的值对应着的是AppBarLayout.ScrollingViewBehavior。

    自定义Behavior分两种方法:

    1)定义的View监听CoordinatorLayout里的滑动状态。注意重写onStartNestedScroll()和onNestedPreScroll()方法

    2)定义的View监听另一个View的状态变化。注意重写layoutDependsOn()和onDependentViewChanged()方法

    然后在联动的布局中加入

    app:layout_behavior="com.example.liuwangshu.mooncoordinatorlayout.FooterBehavior"即可

  • 相关阅读:
    Redhat VNCServer
    Petshop4 的相关文章、下载地址和相关问题
    .Net 2.0 中用 ICallbackEventHandler实现 Ajax无刷新操作
    Silverlight 结合WCF Duplex Service聊天程序出炉
    vsftp的虚拟用户管理
    MySql 内存表使用
    linux 上远程控制
    理解WCF Session笔记
    转载-磁盘管理
    rhel 5 3G以上内存解决方案
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8503096.html
Copyright © 2020-2023  润新知