美文网首页Android Developer
Android UI——Material Design ——To

Android UI——Material Design ——To

作者: So_ProbuING | 来源:发表于2019-02-25 15:34 被阅读13次

    Material Design——ToolBar

    ToolBar 简单来说就是是app的顶部导航,也在一些app中当做标题栏使用。由于在早期的开发中,不同的产品设计导致实现标题栏或者导航栏各个公司都比较混乱。Google于是规范了导航栏标题栏的规范。在3.0的API中加入了ActionBar作为导航和标题的通用规范。但是在后来随着版本的更新,ActionBar有一些弊端和不满足现在的App的设计。所以又在新的API中引入了新的控件ToolBar。由于公司项目的特性,了解Material Design的机会比较少。作为填坑,还是要补一下相关的知识的。

    关于ToolBar

    ToolBar的作用就是导航控件——可以显示标题、快捷操作按钮、菜单等。ToolBar不一定放在顶部 放在底部也可以
    ToolBar其实就是一个容器,可以像一个容器一样拜访子控件,可以拜访布局

    来源:android.support.v7.widget.Toolbar

    ToolBar的使用

    • 引入v7包
        implementation 'com.android.support:appcompat-v7:28.0.0'
    
    • 布局文件
     <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
           //导航按钮图标
            app:navigationIcon="@mipmap/ic_launcher"
            //标题栏logo
            app:logo="@android:mipmap/sym_def_app_icon"
            //子标题
            app:subtitle="旅行"
            //标题
            app:title="网易新闻"
            app:titleTextColor="@android:color/white">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="textView" />
        </android.support.v7.widget.Toolbar>
    
    • Activity中
    public class MainActivity extends AppCompatActivity {
    
        private Toolbar toolbar;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            toolbar = ((Toolbar) findViewById(R.id.toolbar));
            setSupportActionBar(toolbar);
            //点击监听
            toolbar.setNavigationOnClickListener((View v)->{
                finish();
            });
    
        }
    }
    

    SearchView

    搜索控件
    属于supportv7包中

    Palette 调色板

    作用可以在一张图片里面分析出一些色彩的特性:主色调、鲜艳的颜色、柔和的颜色等等

    Palette是调色版的意思,用它能获取到Bitmap中一些活跃的颜色,其他控件通过设置这些颜色来优化界面色彩搭配。


    image

    引入

        implementation 'com.android.support:palette-v7:28.0.0'
    

    使用

    • 调用Palette.from() 方法将bitmap传入,然后在回调中获取颜色值。
    Palette.from(bitmap).generate((palette1 -> {
                tv_title.setBackgroundColor(palette1.getLightVibrantColor(Color.BLACK));
    
            }));
    

    API

    // 获取到柔和的深色的颜色(可传默认值)
     palette.getDarkMutedColor(Color.BLUE);
     // 获取到活跃的深色的颜色(可传默认值)
     palette.getDarkVibrantColor(Color.BLUE);
     // 获取到柔和的明亮的颜色(可传默认值)
     palette.getLightMutedColor(Color.BLUE);
     // 获取到活跃的明亮的颜色(可传默认值)
     palette.getLightVibrantColor(Color.BLUE);
     // 获取图片中最活跃的颜色(也可以说整个图片出现最多的颜色)(可传默认值)
     palette.getVibrantColor(Color.BLUE);
     // 获取图片中一个最柔和的颜色(可传默认值)
     palette.getMutedColor(Color.BLUE);
    

    相关文章

      网友评论

        本文标题:Android UI——Material Design ——To

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