##一、描述
此文章说明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###4. Toolbar 布局 ```arrayAdapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1, data);arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);mainSpinner.setAdapter(arrayAdapter);复制代码
下面这个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侧滑直接用官方给的侧滑模版就好复制代码