导入地址com.android.support:design:23.2.0。。输入design搜索到确认就可以。

布局中android.support.design.widget.XXX,调用控件

控件一:FloatingActionButton-浮动的圆形button

属性:布局中加入xmlns:app”http://schemas.android.com/apk/res-auto

app:backgroundTint=”#ff0000”//设置背景色

app:fabSize=”normal”//包裹src图片,属性mini缩小控件达到src的大小

app:elevation=”5dp”//x轴阴影效果

app:rippleColor=”#000000”//点击效果颜色

控件二:TextInputLayout-优化EditText

属性:必须存放子控件:EditText

代码:textinput.setHint(“这里填写提示信息”);

EditText edittext=textinput.getEditText();

edittext.addTextChangedListener(new TextWatcher(){

方法:beforeTextChanged:

方法:onTextChanged:

if(s.length()>10){

textInput.setError(“username不能超过10位”);//限制10个字节

textInput.setErrorEnabled(true);

}else{

textInput.setErrorEnabled(false);

}

方法:afterTextChanged:

});

控件三:Snackbar- 可交互的提示框(相当于Toast位于bottom)

代码:在控件的点击事件中调用

final Snackbar snackbar=Snackbar.make(btn,”你点击了button”。Snackbar.LENGTH_LONG).show();

snackbar.setAction(“知道了”。new View.OnClickListener(){

snackbar.dismiss();

}

});

控件四:TabLayout 便捷标签

属性:app:tabTextColor=”@android:color/black”//未选中字体颜色

        app:tabSelectedTextColor=”@android:color/XXX”//选中字体的颜色

        app:tabIndicatorColor=”“//下标指示器的颜色(滑标)

        app:tabIndicatorHeight=”“//下标指示器的高度

        app:tabMode=”scrollable”//可滑动标签

        //背景色直接bg就能够

代码: 获取tabs控件

         tabs.addTab(tabs.newTab().setText(“Tab1”));//加入标签名称

          加入viewpager一起使用:加入viewpager到布局。

          Listtitles=new ArrayList<>();

          Listfragments=new ArrayList<>();

          for(int i=0;i<4;i++){

                 String title=”Tab”+(i+1);

                 tabs.addTab(tabs.newTab().setText(title));

                 titles.add(title);

                 Fragment fragment=new JikeFragment(title);

                 fragments.add(fragment);

          }

          获取viewpager控件

          XXXFragmentAdapter mAdapter=new XXXFragmentAdapter(getSupportFragmentManager(), fragments, titles);

          viewpager.setAdapter(mAdapter);

          tabs.setupWithViewPager(viewpager);

          tabs.setTabsFromPagerAdapter(mAdapter);

          

创建XXXfragment,在xxxfragment中加入构造函数:

String mTitle;

          public xxxfragment(String title){

             mTitle=title;

          }

          在onCreateView中:

          text=setText(mTitle);

          创建XXXFragmentAdapter

          public class XXXFragmentAdapter extends  FragmentStatePagerAdapter {

private List<Fragment> mFragments;
private List<String> mTitles; public EventTabFragmentAdapter(FragmentManager fm, List<Fragment> fragments, List<String> titles) {
super(fm);
mFragments = fragments;
mTitles = titles;
} @Override
public Fragment getItem(int position) {
return mFragments.get(position);
} @Override
public int getCount() {
return mFragments.size();
} @Override

public CharSequence getPageTitle(int position) {

return mTitles.get(position);

}

}

控件五: NavigationView-側滑视图
属性:布局中加入xmlns:app”http://schemas.android.com/apk/res-auto
          创建布局xxxlayout.xml
          布局中创建android.support.v4.widget.DrawerLayout控件
          控件中创建NavigationView
          app:headerLayout="@layout/head_view"//创建head_view布局(头部布局)
          app:menu="@menu/ment_main"(菜单布局)
          android:layout_gravity="left"
          android:fitsSystemWindows="true"
代码:获取drawerLayout控件
          drawerLayout.closeDrawer();//控制側滑菜单的显示opean与隐藏close
控件六:CoordinatorLayout-完美协调子View工作的核心部件
1.属性:根布局CoordinatorLayout
           使用FloatingActionButton控件
           使用Snackbar控件
1.效果:随着Snackbar的弹出FloatingActionButton不被覆盖,随着Snackbar向上移动。
2.属性:控件android.support.design.widget.CoordinatorLayout//相当于优化的FrameLayout
                
app:contentScrim="#77DB93"//动画结束后显示toolbar //二
                 控件 android.support.design.widget.AppBarLayout //用于兼容Tb与CL
              android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar//设置字体颜色为白色//二
                     控件android.support.design.widget.CollapsingToolbarLayout//用于滑动缩小整个上边布局

                     app:expandedTitleMarginStart="80dp"//设置边距
                         控件ImageView //第二部分
                 app:layout_collapseMode="parallax"//终于显示图片中间位置
                 //參数none,终于显示图片底部
                 //參数bin,依然显示在图片底部无效果
                 app:layout_collapseParallaxMultiplier="0.8"//调节视觉差,值越小动态效果越快
                         控件android.support.v7.widget.Toolbar
              android:layout_height="?attr/actionBarSize"//系统默认高度
              app:layout_scrollFlags="scroll|enterAlways"//上滑隐藏Toolbar/下滑显示Toolbar//二、挪到CTL中
              //參数enterAlwaysCollapsed仅仅有下滑到第一个控件的时候再显示
              //參数exitUntilCollapsed配合android:minHeight使用,上滑动隐藏余留一个最小高度,不写最小高度为默认高度
              app:popupTheme="@style/ThemeOverlay.AppCompat.Light"//设置背景色为白色(没有作用)
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"//去除系统默认title
              (内部内容
               <item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
              ) 
              //第二部分
              app:layout_collapseMode="pin"//固定toolbar不隐藏
              //參数parallax随着图片缩小Toolbar也随着隐藏,同一时候进行
              //參数none相当于没加这个属性。效果是Toolbar隐藏掉后再缩小图片
                 控件android.support.v4.widget.NestedScrollView
           app:layout_behavior="@string/appbar_scrolling_view_behavior"//设置NS位于ABL的下方
2.代码:

Toolbar toolbar;
CollapsingToolbarLayout collapsingtoolbarlayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar=(Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);//设置标题栏默认内容。大概意思是设置到activity窗体中
collapsingtoolbarlayout= (CollapsingToolbarLayout) findViewById(R.id.collapsingtoolbarlayout);
collapsingtoolbarlayout.setTitle("美好的一天");
getSupportActionBar().setHomeButtonEnabled(true);//是否使用左上角的返回button
getSupportActionBar().setDisplayHomeAsUpEnabled(true);//显示返回button,是否实现返回到上一页的效果未測 }

Design库,所有控件的使用的更多相关文章

  1. WPF 引用第三方库的控件在设计器加上设计时数据和属性

    本文告诉大家如何在 VisualStudio 2022 的 XAML 设计器中,在设计时给第三方控件加上设计用的属性和数据的方法 此功能要求使用不低于 VisualStudio 2019 的 16.8 ...

  2. 基于Qt的第三方库和控件

    ====================== 基于Qt的第三方库和控件 ======================     libQxt --------   http://dev.libqxt.o ...

  3. HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等

    本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件 ...

  4. WPF开源界面库及控件

    WPF开源项目 WPF有很多优秀的开源项目,我以为大家都知道,结果,问了很多人,其实他们不知道.唉,太可惜了! 先介绍两个比较牛逼的界面库 1.MaterialDesignInXamlToolkit ...

  5. 修复duilib库UISlider控件的4个bug

    转载级请注明原出处,谢谢~· 昨天封装好一个音频类,我在为dulib做音频播放demo时发现了一些问题,由CSliderUI控件导致的,进而发现了这个控件的好几样不足,他无法满 足我们做一个播放器的进 ...

  6. Android开源库集合(控件)

    RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功能增强(拖拽,滑动删除, ...

  7. Android Studio使用butterknife库绑定控件ID注解

    在线导入butterknife的jar包 在Android-app-Open Module Settings下选中module下的app 选择Dependencies,点击右边的“+”,选择第一个:1 ...

  8. DS控件库 DSLed控件呈现滚动字幕效果

    滚动字幕效果在DSled上可以使用偏移来实现,代码如下 运行效果

  9. ant design pro: protable控件隐藏【收起】按钮

    [collapseRender:()=>false] [效果] [参考ProTable源码]

随机推荐

  1. sklearn中的数据预处理和特征工程

    小伙伴们大家好~o( ̄▽ ̄)ブ,沉寂了这么久我又出来啦,这次先不翻译优质的文章了,这次我们回到Python中的机器学习,看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下我的开发环境是 ...

  2. 显示程序输出并复制到文件(tee 命令)

    Linux tee命令用于读取标准输入的数据,并将其内容输出成文件. tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件. 语法 tee [-ai][--help][--v ...

  3. D - Vanya and Fence

    Problem description Vanya and his friends are walking along the fence of height h and they do not wa ...

  4. org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart

    问题:文件明明存在,资源找不到,报错 解决方法:原因是没有build path,这有点像.net里边的build .点击相应的文件夹选择build path ,解决问题

  5. 实体 和 XML格式的转换

    许多接口传输需要XML格式转换,那么如何实现?看下面帮助类→_→ /// <summary> /// XML处理帮助类,编码格式GBK!! /// </summary> pub ...

  6. Android第三方微博、无线传输、动画特效、商城应用等源码

    Android精选源码 Android汽车助手源码 一个酷炫的Android特效源码 新浪微博的第三方客户端.UI遵循Material Design. Android实现旋转木马布局多种效果 Andr ...

  7. 解决Latex复制到公众号可能报“图片粘贴失败”的问题

    前几天出了个版本,还发了篇“Md2All,让公众号完美显示Latex数学公式”的文章,发完后,心里还是不太爽的,因为那个版本还是遗留了一个问题:当把Latex公式转换为本地图片,再复制到公众号时,有可 ...

  8. sqlserver 常用到的架构相关的表芝士

    “SELECT COLUMN_NAME,TABLE_NAME FROM INFORMATION_SCHEMA.columns WHERE COLUMN_NAME='WareHouse_Code'” 如 ...

  9. JWPL工具处理维基百科wikipedia数据用于NLP

    JWPL处理维基百科数据用于NLP 处理zhwiki JWPL是一个Wikipedia处理工具,主要功能是将Wikipedia dump的文件经过处理.优化导入mysql数据库,用于NLP过程.以下以 ...

  10. 读书笔记「Python编程:从入门到实践」_5.if语句

    5.1 一个简单示例 cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if car == 'bmw': print(car.up ...