使用Meterial Design构建Android应用

Meterial Design常见控件的使用(一),android热更新 <TextView android:id="@+id/title" android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_gravity=“center” android:text=“标题” android:textColor="@color/white" android:textSize=“22sp” /> </android.support.v7.widget.To 阅读详情

使用Meterial Design构建Android应用

翻译原文:http://hmkcode.com/material-design-app-android-design-support-library-appcompat/

Android的材料设计支持库给我们带来了一系列兼容Android 2.1及更高版本的组件。这些组件主要是:


这里写图片描述

在本文中,我们将创建一个应用程序,遵循材料设计规范使用提供的新组件的设计支持库。预览效果如下:


这里写图片描述

配置颜色样式

MD中很重要的一个部分就是对APP内颜色样式的控制,一个美观的APP应该有科学的颜色配置,而我们知道res/values/colors.xml完成对APP样式的定义,但你可能未必知道某些属性到底控制了那个部分的颜色。

res/values/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>    
    <color name="window_background">#CC000000</color>

    <color name="my_primary">#ED1C24</color>
    <color name="my_primary_dark">#CC0000</color>
    <color name="my_primary_light">#B3E5FC</color>
    <color name="my_accent">#FF5722</color>
    <color name="my_primary_text">#ffffff</color>
    <color name="my_secondary_text">#ffffff</color>
    <color name="my_icons">#FFFFFF</color>
    <color name="my_divider">#B6B6B6</color>
</resources>

仔细看上面的属性,貌似有点规律,其实这是为了方便我们在res/values/style.xml为主题引入颜色。

如何使用

通过本文,你将会学会如何使用这些材料设计相关的组件来丰富你的APP,让我们从最简单的Toolbar开始吧。

(1)Toolbar

这里写图片描述

  • Toolbar是在API21时加入到Android支持库中
  • Toolbar实现了Actionbar的功能,更适合使用
  • 和Actionbar不同,使用Toolbar必须在xml中声明,并且设置主题为Theme.AppCompat.NoActionBar(或者其浅色主题)

res/layout/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.ubisoft.mdcomponents.MainActivity">

  <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />

</RelativeLayout>

这里,注意到我们使用了?attr/actionBarSize这样的属性值,这是因为在Actionbar的高度,系统中已有定义,使用系统设计好的高度,更加科学,因此使用?,而非@来引用。

<resources>

  <!-- Application theme. -->
  <style name="AppTheme" parent="AppBaseTheme">
    <!-- 当某些属性与版本无关时,该属性应该被放置在此,这样保证了所有版本APP运行后保持一致 -->
  </style>

  <!-- Base application theme. -->
  <style name="AppBaseTheme" parent="MdComponentsTheme">
    <!-- 当需要时,应该在对应版本的res/values-vXX/styles.xml中覆写此主题 -->
  </style>

  <!--注意,其中属性控制的颜色-->
  <style name="MdComponentsTheme" parent="Theme.AppCompat.NoActionBar">

    <!-- controls app bar -->
    <item name="colorPrimary">@color/my_primary</item>

    <!-- controls status bar -->
    <item name="colorPrimaryDark">@color/my_primary_dark</item>

    <!-- theme UI controls like checkboxes and text fields e.g. FloatActionButton -->
    <item name="colorAccent">@color/my_accent</item>

    <!-- Title Text Color -->
    <item name="android:textColorPrimary">@color/my_primary_text</item>

    <!-- color of the menu overflow icon (three vertical dots) -->
    <item name="android:textColorSecondary">@color/my_secondary_text</item>

    <item name="android:windowBackground">@color/window_background</item>
  </style>

</resources>
  • name=”colorPrimary”

    控制了AppBar(Action Bar/Tool Bar)的颜色。
    
  • name=”colorPrimaryDark”

    控制了Status bar的颜色。
    
  • name=”colorAccent”

    控制了大部分控件的颜色,如edittext的下滑线,Floating Action Button的填充颜色等。
    
  • name=”android:textColorPrimary”

    控制了显示字体的主要颜色,如TextView的显示
    
  • name=”android:textColorSecondary”

    控制了菜单中Action bar的overflow的颜色
    

如果你想编辑其余的属性,建议打开主题编辑器:
这里写图片描述

在代码中使用Toolbar很简单,只需2步即可,我们看下MainActivity.java:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setupToolbar();

    }

    private void setupToolbar(){
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    // Show menu icon(Home Button)
        final ActionBar ab = getSupportActionBar();
        ab.setHomeAsUpIndicator(R.drawable.ic_menu);
        ab.setDisplayHomeAsUpEnabled(true);
    }
}

(2)Float Action Button

FloatActionButton,是一种悬浮的按钮,在Google自己的APP中使用还是相当广泛的,利用它用户可以快速完成某些交互操作,如:Gmail邮件,点击右下角添加按钮,可以直接编辑新邮件。

![这里写图片描述](https://img-blog.youkuaiyun.com/20170609084231160?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUnVud3g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) **res/layout/activity_main.xml**
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  tools:context="com.ubisoft.mdcomponents.MainActivity">

  <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />

  <android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/location"
    android:layout_marginBottom="20dp"
    android:layout_marginRight="20dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    app:fabSize="normal" />

</RelativeLayout>

(3)Snackbar

Snackbar,是一种类似于Toast的信息提示类型的组件,不过要更加灵活,可以自带一个action按钮(不可用于取消本身)。
这里写图片描述

上图,可以看到从底部弹出的Snackbar会覆盖在FloatActionButton之上,这个问题在之后我们会通过协调布局来解决。

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setupToolbar();
    setupFloatActionButton();
  }

  private void setupFloatActionButton() {
    final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Snackbar.make(fab, "The info of display.", Snackbar.LENGTH_SHORT)
            .setAction("action",
                new OnClickListener() {
                  @Override
                  public void onClick(View v) {
                    Toast.makeText(MainActivity.this, "Snackbar.action", Toast.LENGTH_SHORT).show();
                  }
                }).show();
      }
    });
  }

  private void setupToolbar() {
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    // Show ic_menu icon(Home Button)
    final ActionBar ab = getSupportActionBar();
    ab.setHomeAsUpIndicator(R.drawable.ic_menu);
    ab.setDisplayHomeAsUpEnabled(true);
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu, menu);
    return super.onCreateOptionsMenu(menu);
  }
}

(4)TabLayout

TabLayout,在ActionBar时代,Tab可以放置在ActionBar中,作为一种类似页签的功能,TabLayout实现固定标签以及水平滚动标签,使得用户快速在各个页面进行切换,如很多的新闻客户端。

这里写图片描述

res/layout/activity_main.xml

<RelativeLayout ..>

        <android.support.v7.widget.Toolbar
             ../>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:scrollbars="horizontal"
            android:layout_below="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways" />


      <android.support.design.widget.FloatingActionButton
                    .. />
</RelativeLayout>

res/main/MainActivity.java

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setupToolbar();
    setupFloatActionButton();
    setupTabLayout();
  }

  private void setupTabLayout() {
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
    tabLayout.addTab(tabLayout.newTab().setText("Tab1"));
    tabLayout.addTab(tabLayout.newTab().setText("Tab2"));
    tabLayout.addTab(tabLayout.newTab().setText("Tab3"));
  }

  ...
}

(5)CoordinatorLayout(重要)

CoordinatorLayout,难度不在于书写代码上,而是在子控件布局上,协调布局提供额外的控制子视图之间的触摸事件。
这里写图片描述

使用协调布局作为根布局的对比,如上图所示,即保证了控件之间不会在变化时对其他控件进行覆盖或其他干扰。子控件使用属性layout_gravity来定义自己在协调布局中的位置。

(6)AppBarLayout(重要)

AppBarLayout,允许内部的Toolbar和其他控件去响应其同级控件的滚动事件(理解为ScrollView),从而达到标题与内容的联动效果,Toolbar通过属性layout_scrollFlags来响应滚动事件。

这里写图片描述

res/layout/activity_haha.xml

<android.support.design.widget.CoordinatorLayout
    ...>

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"/>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:scrollbars="horizontal"
            android:layout_below="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary" />

    </android.support.design.widget.AppBarLayout>

     <!-- Your Scrollable View -->
    <include layout="@layout/cardviews"/>

    <android.support.design.widget.FloatingActionButton
            ... />

</android.support.design.widget.CoordinatorLayout>

对于属性layout_scrollFlags共有如下几个值,我们一一解释下:

  • scroll:值设为scroll的View会跟随滚动事件一起发生移动。
  • enterAlways:值设为enterAlways的View,当ScrollView往下滚动时,该View会直接往下滚动。而不用考虑ScrollView是否在滚动。
  • exitUntilCollapsed:值设为exitUntilCollapsed的View,当这个View要往上逐渐“消逝”时,会一直往上滑动,直到剩下的的高度达到它的最小高度后,再响应ScrollView的内部滑动事件。
  • enterAlwaysCollapsed:是enterAlways的附加选项,一般跟enterAlways一起使用,它是指,View在往下“出现”的时候,首先是enterAlways效果,当View的高度达到最小高度时,View就暂时不去往下滚动,直到ScrollView滑动到顶部不再滑动时,View再继续往下滑动,直到滑到View的顶部结束。

(7) CollapsingToolbarLayout

CollapsingToolbarLayout,是用来对Toolbar进行再次包装的ViewGroup,主要是用于实现折叠(其实就是看起来像伸缩~)的App Bar效果。它需要放在AppBarLayout布局里面,并且作为AppBarLayout的直接子View。

这里写图片描述

CollapsingToolbarLayout主要有以下几个功能:

  • 缩放Toolbar的Title:在AppBarLayout滚动过程中,能对Toolbar的title进行位移和大小缩放控制,但setTitle()方法应该通过CollapsingToolbarLayout设置而非Toolbar。
  • 蒙板:根据滚动的位置是否到达一个阀值,来决定是否对View“盖上纱布”。可以通过setContentScrim(Drawable)来设置纱布的图片。你还可以通过setStatusBarScrim(Drawable)来设置纱布图片,但是只能在LOLLIPOP(Android5.0)设备上面有作用。
  • 视差特效:可以选择在当前的布局当时是否以“视差”的方式来跟随滚动,通过布局参数app:layout_collapseMode="parallax"。
  • 位置固定:子View可以选择是否在全局空间上固定位置,这对于Toolbar来说非常有用,因为当布局在移动时,可以将Toolbar固定位置而不受移动的影响,app:layout_collapseMode="pin"。

(8)NavigationView

这里写图片描述

NavigationView是一种上下结构的控件,在它没有出现之前,侧滑页面的结构都是自定义的,普遍使用在DrawerLayout中,有2个主要的属性:

  • app:headerLayout:控制上半部分的视图
  • app:menu:通过菜单资源作为下半部分试图

使用起来非常简单,常用于需要使用到侧滑菜单的APP中,在代码中可以通过方法drawerLayout.openDrawer(GravityCompat.START);设置侧滑的方向。

Meterial Design常见控件的使用(四)(1),Android岗 上面讲了Google 为我们提供的一些场景使用的Behavior,当然还有一些Google 提供的一些组件使用的Behavior,AppbarLayout内部的Behavior,如专门协调 AppbarLayout 与可滚动View(NestedScrollView,RecyclerView )的, FloatActionButton内部的Behavior ,协调和Snackbar 的关系,保证Snackbar 弹出的时候不被FAB 遮挡。还有就是上面说的Snackbar内部的Behavior 等等。 阅读详情

相关推荐

Meterial Design常见控件的使用(七):DrawLayout

今天我们来学习一下DrawLayout控件,以前我们都是使用网上的开源框架slidingMenu,但是在安卓5.0后Google就推出了一个强大的design库,下面对于用法进行详细的介绍: 一、DrawLayout介绍 是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特

bugmiao的博客 706

Android基础——Material Design

Material DesignMaterial Design是什么?ToolbarDrawerLayoutNavigationViewFloatingActionButtonSnackbarCoordinatorLayoutCarView Material Design是什么? Material Design时谷歌推出的一套UI设计规范,主要通过Design Support库来实现。 Toolbar 将ActionBar取消,修改value文件夹下的style.xml,修改parent为NoActionBa

松仔Log的博客 4923

Meterial Design常见控件的使用(四),android开发实战项目

@Override public void onStopNestedScroll(CoordinatorLayout coordinatorLayout, View child, View target) { super.onStopNestedScroll(coordinatorLayout, child, target); } /** onStartNestedScroll返回true才会触发这个方法,接受滚动处理后回调,可以在这个 方法里做一些准备工作,如一些状态的重置等。 @param

m0_66264655的博客 828

Android---Material Design

Material Design 中文名:材料设计语言,是由 Google 推出的全新的设计语言。Google 表示,这种设计语言旨在为手机、平板、台式机和“其它平台”提供更一致、更广泛的“外观和感觉”。Material Design 不再让像素处于同一个平面,而是让它们按照规则处于空间当中,具备不同的维度;Material Design 还规范了 Android 的运动元素;Material Design 更加倾向于用色彩来提示;

qq_44950283的博客 1152

Material Design: Android UI 控件库完整指南

本文还有配套的精品资源,点击获取 简介:Material Design 是一个基于 Google 的设计规范的 Android UI 控件库,它帮助开发者创建遵循现代风格的应用程序。该库以 Java 编写,包含多样的组件如按钮、抽屉、浮动操作按钮等,旨在提供一致、直观且富有表现力的用户体验。通过使用这些控件,开发者可以快速构建出专业且美观的 Android 应用,同时自定义...

weixin_36204513的博客 2748

material design风格,适用于android5.0以下的版本

material design风格,适用于android5.0以下的版本,效果很炫酷。

Android设计模式——Material Design学习(一)

Material Design(原质化设计)是谷歌2014年推出的新的设计模式,但是发现自己在项目中使用的还是比较少,所以这里来做一个学习总结。Material Design主要强调的是统一的安卓应用风格,但是它的普及程度却并不理想(用起来真的好费力)。于是在2015年谷歌发布了Design Support库,让程序员可以在不了解Material Design的情况下轻松使用。下面不多说,为了达到...

qq_39636109的博客 6537

Meterial Design参考手册

使用Meterial Design规范来开发Android UI界面,会使App具有质感,界面更美观。《Material design非官方中文指导手册》是官方的Material Design手册的中文简化版。

Android Material Design控件使用(一)

Android Material Design控件使用(一)

Lbsssss的博客 1806

Android Material Design 中文版

原质化设计(Material Design)中文版 完整版 Google I/O 2014 发布的 Material Design 势必将会成为统一 Android Mobile、Android Table、Desktop Chrome 等全平台设计语言规范,对从业人员意义重大

混合编程实战:C#集成C++ PCL点云处理库,打造跨语言动态链接库

本文详细介绍了C#与C++混合编程实战,重点讲解如何通过动态链接库(DLL)集成C++ PCL点云处理库,实现跨语言协作。内容涵盖环境配置、PCL功能封装、C#调用DLL的完整方案,以及性能优化和错误处理等进阶技巧,帮助开发者高效处理大规模点云数据,提升工业软件开发效率。

weixin_42620913的博客 381

Meterial Design常见控件的使用(一):Toolbar,来看看这份超全面的《Android面试题及解析》

app:title=“标题”如果你不在xml中设置参数的话,代码中的设置:toolbar.setTitle(“标题”);//点击左边返回按钮监听事件@Override});由于比较简单,效果图这里也不在贴出啦。

2401_84122760的博客 812

Adobe软件非正版弹窗终极解决方案:PS/Ai/PR/AE禁用提示一键清除指南

本文提供了Adobe软件非正版弹窗的终极解决方案,包括PS、Ai、PR、AE等软件的禁用提示一键清除指南。通过专业清理工具和手动修改系统文件的方法,帮助用户彻底解决Adobe弹窗问题,提升使用体验。适用于Windows和Mac系统用户,操作简单高效。

weixin_30872337的博客 5325

Meterial Design常见控件的使用(一),retrofit使用

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width=“match_parent” android:layout_height="?attr/actionBarSize" android:background="@color/colorAccent" app:logo="@mipmap/ic_launcher" app:navigationContentDescription="" app:.

m0_65146387的博客 161

SAP成本中心费用分割(KSS2)实战:从原理到月末调整全解析

本文详细解析了SAP成本中心费用分割(KSS2)的核心逻辑与实战操作,从成本要素分组配置到月末调整全流程。通过KSS2将初级成本要素按作业类型重新分类为次级成本要素,确保成本结算准确。文章还提供了常见错误处理方法和典型业务场景实战,帮助用户高效完成SAP成本结算。

weixin_29279101的博客 1257

TMC2209的UART模式详解:如何用串口调试助手配置细分和电流(避坑指南)

本文深入解析TMC2209步进电机驱动器的UART模式,详细讲解如何通过串口调试助手配置细分和电流,包括硬件连接、通信协议、关键寄存器设置及高级功能应用。提供实战避坑指南,帮助开发者优化步进电机控制性能,适用于精密仪器、3D打印等场景。

weixin_29166013的博客 541

Meterial Design常见控件的使用(一):Toolbar

Toolbar 的基本用法 常用的方法 xml中的设置: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorAccent" app

bugmiao的博客 225

innovus:sroute 双层follow pin的做法

根据std cellpower pin的层次可以分成两种情况。

m0_61544122的博客 2727

Android Meterial Design使用总结

Meterial Design总结 概述 Meterail Design是谷歌设计一套界面设计语言,包含视觉、运动、互动等特性。 用于解决Android平台界面风格不统一的问题。 常用控件 Toolbar:顶部标题栏 DrawerLayout:滑动菜单 NavigatinView:滑动菜单定制布局 FloatingActionButton:悬浮按钮 Snackbar:提示工具 CoordinatorLayout:加强版FrameLayout,可以监听所有子控件的各种事件 MeterialCardVie

xiangxiongfly 703

硬件工程师提前批真题及答案解析2

我们需要考虑题目可能的简化假设,即输入电阻 Ri​ 可能是 rbe​ 和 βre​ 的组合,但题目可能简化为: Ri​≈rbe​+βre​。由于锗管的正向导通电压较小(0.2 V~0.3 V),而硅管的正向导通电压较大(0.6 V~0.7 V),因此-4.7 V的电压差不符合硅管的特性,而更接近锗管的特性。在三极管电路中,静态电位是指在无信号输入时,三极管各电极的直流电压。re​ 是动态发射极电阻,通常可以近似为 re​=IE​VT​​,但在题目中已经给出了 re​=300Ω,因此可以直接使用这个值。

XU157303764的博客 777

YOLOv5/v7/v8/v9/v10/v11/v12/13目标检测结果解析,超w字精读,IoU、GIoU、DIoU、CIoU、EIoU详细解释,精确率、召回率、AP、mAP与P-R 曲线图深度解析

YOLOv5/v7/v8/v9/v10/v11/v12/13目标检测结果解析,超w字精读,IoU、GIoU、DIoU、CIoU、EIoU详细解释,精确率、召回率、AP、mAP与P-R 曲线图深度解析

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1410

Meterial Design常见控件的使用(一),kotlin开发微信小程序

首先定义一个style: 然后: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width=“match_parent” android:layout_height="?attr/actionBarSize" android:background="@color/colorAccent" app:logo="@mipmap/ic_launcher" app:navigationCont

m0_66264856的博客 272

52-Halcon-- smooth_object_model_3d函数功能(滑处理3D对象模型)

Halcon中smooth_object_model_3d算子详解 该算子用于3D模型平滑处理,提供三种算法:'laplacian'(快速去噪)、'taubin'(高质量防收缩)和'low_pass'(频域滤波)。核心参数包括迭代次数(默认5)、平滑强度(0-1)和边缘保护选项。典型应用包括扫描数据去噪、CAD模型光顺和逆向工程优化。支持自适应平滑、结合模型简化等高级技巧,并可通过分块处理优化大型模型性能。参数组合需根据具体场景选择,如快速去噪推荐拉普拉斯方法(5次迭代,强度0.3),特征保持推荐低通滤波(

weixin_45590420的博客 873

Android Meterial Design Support Library

extends:http://inthecheesefactory.com/blog/android-design-support-library-codelab At the moment I believe that there is no any Android Developer who doesn't know aboutMaterial Designanymore sinc...

weixin_30273175的博客 223

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Meterial Design常见控件的使用(八):CardView,Android面试资料集合

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的。

onghaha的博客 673

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android开发游记:meterial design 5.0 新增控件介绍及使用方法

Android 5.0 Lollipop 是迄今为止最重大的一次发布,因为 material design 的存在,android的界面风格发生了新的改变,这是一门新的设计语言,它刷新了整个 Android 的用户体验。对于开发者来说,要设计出完全符合 material design 哲学的应用,是一个很大的挑战。 Android Design Support Library 对此提供了很好的支持

liaoinstan的博客 8897

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 学会在博客中使用gif
下一篇: 在Mac下反编译apk
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值