博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Material Design使用集合
阅读量:5823 次
发布时间:2019-06-18

本文共 3753 字,大约阅读时间需要 12 分钟。

##一、描述

此文章说明Material Design类型的控件使用说明。

##二、控件使用方法

###1. TabLayout + ViewPager

复制代码
复制代码

代码

contentViewPager.setAdapter(new PagerFragmentAdapter(getSupportFragmentManager())); //ViewPager设置适配器tabLayout.setupWithViewPager(contentViewPager); //TabLayout和VIewpager结合//tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); //设置他的模式,如果需要选项卡自适应宽度的话复制代码

并且在适配器中重写Tab文本标题:

@Override        public CharSequence getPageTitle(int position) {            return titles[position];        }复制代码

重写Tab图片标题

@Override        public CharSequence getPageTitle(int position) {            Drawable image = MainActivity.this.getResources().getDrawable(imageResId[position]);            image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight());            SpannableString sb = new SpannableString(" ");            ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BOTTOM);            sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);            return sb;        }复制代码

TabLayout控制Item选中的背景色 解决方案:就是声明一个Secetor,点击和正常的颜色,然后再声明一个style,最后运用在TabLayout上就可以了

复制代码

http://blog.csdn.net/u012045061/article/details/53423857

###2. FloatingActionButton

复制代码
###3. AppCompatSpinner

复制代码

代码赋值

ArrayAdapter
arrayAdapter = new ArrayAdapter
(this, android.R.layout.simple_list_item_1, data);arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);mainSpinner.setAdapter(arrayAdapter);复制代码
###4. Toolbar
布局 ```
下面这个style是为了让标题栏的三个点成为白色复制代码
设置标题字体颜色(可加)复制代码
复制代码
ActionBar的标题menu文件复制代码
复制代码
``` 创建菜单,并且对搜索按钮进行处理 ``` // 创建关联菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem searchItem = menu.findItem(R.id.search);    SearchView mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);    //设置搜索框hint内容    mSearchView.setQueryHint("输入要搜索的内容...");    SearchView.SearchAutoComplete textView = (SearchView.SearchAutoComplete)            mSearchView.findViewById(R.id.search_src_text);    //设置搜索框中输入文字的颜色    textView.setTextColor(Color.BLACK);    //搜索内容监听    mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {        @Override        public boolean onQueryTextSubmit(String query) {            Toast.makeText(MainActivity.this, query, Toast.LENGTH_SHORT).show();            return false;        }        @Override        public boolean onQueryTextChange(String newText) {            Log.d("onQueryTextChange", newText);            return false;        }    });    return true;}复制代码
Menu点击事件复制代码

toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { String msg = ""; switch (item.getItemId()) { case R.id.action_ball: msg += "Click ball"; break; case R.id.action_tip: msg += "Click action_tip"; break; case R.id.action_menu: msg += "Click setting"; break; } Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); return false; } });

代码复制代码

toolbar.setTitle("标题");//设置标题,必须在setSupportActionBar方法之前 setSupportActionBar(toolbar); toolbar.setNavigationIcon(R.mipmap.ic_launcher);//设置标题最左的图标 toolbar.setLogo(R.mipmap.ic_launcher_round); //设置一个Logo在左边图标的 右侧 toolbar.setSubtitle("SubTit"); //设置子标题,在标题的下面

###5. 回退按钮1 在布局的ActionBar中添加返回键图片复制代码

app:navigationIcon="@drawable/ic_back"

2 在代码中处理返回事件复制代码

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { finishAfterTransition(); } else { finish(); } break; } return super.onOptionsItemSelected(item); }

###6. DrawerLayout侧滑
直接用官方给的侧滑模版就好复制代码

转载于:https://juejin.im/post/5b3ac69f518825623b31ea2c

你可能感兴趣的文章
JDBC二查询(web基础学习笔记八)
查看>>
监听器(web基础学习笔记二十二)
查看>>
802.11 学习笔记
查看>>
Leetcode-Database-176-Second Highest Salary-Easy(转)
查看>>
构建Docker Compose服务堆栈
查看>>
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
Linux 环境下 PHP 扩展的编译与安装 以 mysqli 为例
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
玩一玩博客,嘿嘿
查看>>
P1352 没有上司的舞会
查看>>
ios11文件夹
查看>>
【HLOJ 559】好朋友的题
查看>>
Electric Fence(皮克定理)
查看>>
nvl 在mysql中如何处理
查看>>
MyEclipse 快捷键
查看>>