zoukankan      html  css  js  c++  java
  • 《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"即可

  • 相关阅读:
    【原】 POJ 1012 Joseph 约瑟夫 解题报告
    【原】 POJ 1001 Exponentiation 大整数乘法 解题报告
    POJ——1517
    毕业了,校园里走走看看——华中科技大学
    毕业答辩后
    CV编程常用的获取鼠标圈定区域的方法
    送走了GB
    POJ——2546
    奥巴马在YY21#524
    POJ——3517
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8503096.html
Copyright © 2011-2022 走看看