码迷,mamicode.com
首页 > 其他好文 > 详细

64、具有过渡动画效果的布局Layout( 2 )

时间:2015-11-26 19:10:33      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

【 CoordinatorLayout-与手势完美结合的滑动视图 】

技术分享

【 AppBarLayout-可以随手势滑动的AppBar 】

 

 1 <android.support.design.widget.CoordinatorLayout
 2     xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     android:id="@+id/root_layout"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:orientation="vertical">
 8 
 9     <android.support.design.widget.AppBarLayout
10         android:layout_width="match_parent"
11         android:layout_height="wrap_content">
12 
13         <!--
14         使用 Toolbar 作为一个标题栏
15 
16         app:layout_scrollFlags="scroll|enterAlways":
17         当向上混动的时候,Toolbar会移出屏幕,只要向下滑动,就会显示Toolbar。
18 
19         app:layout_scrollFlags="scroll|enterAlwaysCollapsed":
20         当向上混动的时候,Toolbar会移出屏幕,向下滑动时,滑动到第一个的时候才会显示Toolbar。
21 
22         app:layout_scrollFlags="scroll|exitUntilCollapsed":
23         不管向上还是向下移动,Toolbar都不会滑出屏幕。
24         另外:如果加上,android:minHeight="20dp"的时候。
25         当向上滑动时候,Toolbar移出屏幕,直到变成最小高度,
26         向下滑动时,滑动到第一个的时候才会显示Toolbar
27         -->
28         <android.support.v7.widget.Toolbar
29             android:id="@+id/toolbar"
30             android:layout_width="match_parent"
31             android:layout_height="?attr/actionBarSize"
32             android:background="#77db93"
33             android:minHeight="20dp"
34             app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
35             app:layout_scrollFlags="scroll|exitUntilCollapsed" />
36     </android.support.design.widget.AppBarLayout>
37 
38     <!-- 与手势完美结合的滑动视图 -->
39     <android.support.v4.widget.NestedScrollView
40         android:layout_width="match_parent"
41         android:layout_height="match_parent"
42         app:layout_behavior="@string/appbar_scrolling_view_behavior">
43         <LinearLayout
44             android:layout_width="match_parent"
45             android:layout_height="wrap_content"
46             android:orientation="vertical">
47             <ImageView
48                 android:layout_width="wrap_content"
49                 android:layout_height="wrap_content"
50                 android:src="@drawable/ic_launcher" />
51             ............
52             <ImageView
53                 android:layout_width="wrap_content"
54                 android:layout_height="wrap_content"
55                 android:src="@drawable/ic_launcher" />
56         </LinearLayout>
57     </android.support.v4.widget.NestedScrollView>
58 
59     <android.support.design.widget.FloatingActionButton
60         android:id="@+id/fab_btn"
61         android:layout_width="wrap_content"
62         android:layout_height="wrap_content"
63         android:layout_gravity="bottom|right"
64         android:layout_margin="10dp"
65         android:src="@drawable/ic_launcher"
66         app:fabSize="normal" />
67 </android.support.design.widget.CoordinatorLayout>

 

 1 <resources>
 2     <!-- values/styles.xml -->
 3     <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
 4         <!-- Customize your theme here. -->
 5         <item name="android:windowActionBar">false</item>
 6         <item name="android:windowNoTitle">true</item>
 7         <item name="windowActionBar">false</item>
 8         <item name="windowNoTitle">true</item>
 9     </style>
10 </resources>
 1 package com.example.com.designdemo;
 2 
 3 import android.os.Bundle;
 4 import android.support.design.widget.CoordinatorLayout;
 5 import android.support.design.widget.FloatingActionButton;
 6 import android.support.design.widget.Snackbar;
 7 import android.support.v7.app.AppCompatActivity;
 8 import android.support.v7.widget.Toolbar;
 9 import android.view.View;
11 
12 public class MainActivity2 extends AppCompatActivity {
14     private FloatingActionButton fab_btn = null;
15     private CoordinatorLayout root_layout = null;
16     private Toolbar toolbar = null;
17 
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main2);
22 
23         toolbar = (Toolbar) this.findViewById(R.id.toolbar);
24         setSupportActionBar(toolbar);
25 
26         root_layout = (CoordinatorLayout) this.findViewById(R.id.root_layout);
27         fab_btn = (FloatingActionButton) this.findViewById(R.id.fab_btn);
28         fab_btn.setOnClickListener(new View.OnClickListener() {
29             @Override
30             public void onClick(View v) {
31                 Snackbar.make(root_layout, "我出来了", Snackbar.LENGTH_LONG)
32                         .setAction("知道了", new View.OnClickListener() {
33                             @Override
34                             public void onClick(View v) {
36                             }
37                         }).show();
39             }
40         });
41 
42     }
44 }

 

 

使用 Toolbar 作为一个标题栏

app:layout_scrollFlags="scroll|enterAlways":
当向上混动的时候,Toolbar会移出屏幕,只要向下滑动,就会显示Toolbar。

app:layout_scrollFlags="scroll|enterAlwaysCollapsed":
当向上混动的时候,Toolbar会移出屏幕,向下滑动时,滑动到第一个的时候才会显示Toolbar。

app:layout_scrollFlags="scroll|exitUntilCollapsed":
不管向上还是向下移动,Toolbar都不会滑出屏幕。
另外:如果加上,android:minHeight="20dp"的时候。当向上滑动时候,Toolbar移出屏幕,直到变成最小高度,
         向下滑动时,滑动到第一个的时候才会显示Toolbar

【 Collapsing Toolbars-可以伸缩的ToolBar 】

 

64、具有过渡动画效果的布局Layout( 2 )

标签:

原文地址:http://www.cnblogs.com/androidsj/p/4998376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!