效果:

main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<!--CoordinatorLayout:协调者布局。-->
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout
android:id="@+id/teach_appbar"
android:layout_width="match_parent"
android:layout_height="260dp">
<!-- app:layout_scrollFlags="scroll|enterAlways"-->
<ImageView
android:id="@+id/teach_image"
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="fitXY"
android:src="@mipmap/seek"
app:layout_scrollFlags="scroll|enterAlways" /> <android.support.design.widget.TabLayout
android:id="@+id/teach_tablayout"
android:layout_width="match_parent"
android:layout_height="60dp" />
</android.support.design.widget.AppBarLayout>
<!--app:layout_behavior="@string/appbar_scrolling_view_behavior"
下面布局仅支持:NestedScrollView和ViewPager
-->
<android.support.v4.view.ViewPager
android:id="@+id/teach_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout>
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_fragment_content"
android:text="@string/article"
android:textSize="28sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
/**
* Design:
* TextInputLayout:输入布局,需要嵌套EditText进行使用
* TextInputEditText:输入框,可以设置错误提示,
* snackBar:加强版的吐司,可以添加点击事件
* 在开发过程中,要使用一些材料风格的特效,即Design特效
* CoordinatorLayout:协调者布局,专门用来处理滑动特效,加强版的FrameLayout
* AppBarLayout:专门用来装载导航区域的,非滚动区域。
*
*/
public class MainActivity extends AppCompatActivity { private ViewPager mViewPager;
private ViewpagerAdapter adapter;
private TabLayout mTabLaypout; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
} private void initView() {
mViewPager = (ViewPager) findViewById(R.id.teach_viewpager); adapter = new ViewpagerAdapter(getSupportFragmentManager(),getData());
mViewPager.setAdapter(adapter); mTabLaypout = (TabLayout) findViewById(R.id.teach_tablayout);
mTabLaypout.setupWithViewPager(mViewPager);
} public List<Fragment> getData() {
List<Fragment>data=new ArrayList<>();
for (int i=0;i<4;i++){
TeachFragment fragment = new TeachFragment();
data.add(fragment);
}
return data;
}
}
public class ViewpagerAdapter extends FragmentPagerAdapter {

    private List<Fragment>data;

    public ViewpagerAdapter(FragmentManager fm,List<Fragment>data) {
super(fm);
this.data=data;
} @Override
public Fragment getItem(int position) {
return data.get(position);
} @Override
public int getCount() {
return data.size();
} @Override
public CharSequence getPageTitle(int position) {
return "标题"+position;
}
}
public class TeachFragment extends Fragment {
private View layout; @Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
layout = inflater.inflate(R.layout.fragment_teach,container,false);
return layout;
}
}

材料设计---Design的更多相关文章

  1. 15个优秀的 Material Design(材料设计)案例

    Material Design (材料设计)是由谷歌创建和设计的一种设计语言,结合成功的设计的经典原则以及创新科技.谷歌的目标是开发一个设计系统,让所有的产品在任何平台上拥有统一的用户体验.全新的设计 ...

  2. 【转】Android的材料设计兼容库(Design Support Library)

    转自:http://www.jcodecraeer.com/a/anzhuokaifa/developer/2015/0531/2958.html?mType=Group Android的材料设计兼容 ...

  3. Android 5.0之应用中实现材料设计—Material Design

    上午的时候在刷Google+,看到了Abraham Williams转发了一篇强文,是Android Developers网站新发的一篇博客—Implementing Material Design ...

  4. 2014年的Google I/O app设计中的材料设计-渣渣的翻译

    又是一篇翻译,用了三个多小时.http://android-developers.blogspot.co.id/2014/08/material-design-in-2014-google-io-ap ...

  5. 学习使用 SVG 创建材料设计涟漪(Ripple)效果

    Codrops 上面发布了一个深入的教程,就如何建立谷歌材料设计的径向操作规范中列出的涟漪效果,并基于 SVG 和 GreenSock 来实现.随着谷歌的材料设计的出现,带来了一个视觉语言,创建跨平台 ...

  6. MaterialUp - 寻找材料设计灵感必备的网站

    MaterialUp 是一个展示最好的材料设计 APP,网站和概念的地方,每天都会更新.每款设计都精心挑选,展示那些有才华的设计师的伟大工作. MaterialUp 的核心价值是让尽可能多的设计师提供 ...

  7. 【译】UI设计基础(UI Design Basics)--为iOS设计(Design for iOS)(二)

    2.1 为iOS设计(Design for iOS) iOS体现以下主题: 遵从:UI帮助用户理解界面内容并与内容交互,但绝不会与内容相互冲突. 清晰:文本在任何尺寸下都是清晰易读,图标精确易懂,装饰 ...

  8. Android Material Design(一)史上最全的材料设计控件大全

    主要内容: 本文将要介绍Material design和Support library控件,主要包括TextInputLayout.SwitchCompat.SnackBar.FloatingActi ...

  9. WPF 判断是否为设计(Design)状态

    在WinForm开发中,一般会在窗体或者UserControl中判断当前是否为设计状态,如: if (!this.DesignMode) {     // } 有时候需要在Load事件中加上一些从服务 ...

随机推荐

  1. VS2015 安装XAN

    How to install XNA in Visual Studio 2015 (Preview) How can I install the templates and the the frame ...

  2. Linux命令学习笔记1

    1.Linux命令学习 2.Mkdir /data       -创建文件夹 在/下创建文件夹 data 3.Cd               -目录切换 列如cd / 4.Touch /data/1 ...

  3. 【转载】C++创建对象的两种方法

    原文:http://blog.sina.com.cn/s/blog_586b6c050100dhjg.html 在C++里,有两种方法创建对象: 方法一: ClassName object(param ...

  4. SpringBoot中使用UEditor基本配置(图文详解)

    SpringBoot中使用UEditor基本配置(图文详解) 2018年03月12日 10:52:32 BigPotR 阅读数:4497   最近因工作需要,在自己研究百度的富文本编辑器UEditor ...

  5. XAF-由于try catch导致的性能问题一例

    前几天在制作PMMS系统时,有天突然发现性能问题下降严重,发布到客户机后,每点击一个按钮要花5-10秒的时间,与本机的200-600毫秒差距很大. 经过多处优化后没有效果. 后来想起,最近增加的功能是 ...

  6. asp.net core 自定义中间件和service

    首先新建项目看下main方法: public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel ...

  7. 关于big-endian和little-endian

    详解大端模式和小端模式 一.大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的<格利佛游记>:Lilliput和Blefuscu这两个 ...

  8. AndroidStudio下使用 RecyclerView xml文件不显示预览条目并报错类似:NoClassDefFoundError 问题解决

    在项目中使用RecyclerView是很普遍的,最近工作中遇到了这种情况: RecyclerView可以正常使用 不会报错 但是在layout中的xml文件中不显示并且报错,如下图:(报的错忘了截了, ...

  9. 传递JSON数据有没有必要用RequestBody?

    在使用SpringMVC的时候自己一直避免使用RequestBody,因为觉的它在参数处理的时候不够方便.理由如下:1.不使用RequestBody时是这样的:前端参数可以直接使用JSON对象: // ...

  10. OpenGL学习笔记(1) 画一个三角形

    最近找实习有一丢丢蛋疼,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊 用OpenGL画一个三角形 项目的简介 记录一下跟着learnOpenGL学习的过程 笔记里的代码放在 ...