Android CollapsingToolbarLayout:将ActionBar载入Toolbar(2)

我之前写了一篇文章:《Android Material Design : CollapsingToolbarLayout使用简介》文章链接地址:http://blog.csdn.net/zhangphil/article/details/48930821
这篇文章主要介绍了Android CollapsingToolbarLayout使用方法。在此篇文章的基础上,增加一点儿内容,就是将Android ActionBar装载到Toolbar里面。
测试的activity MainActivity.java :

package zhangphil.demo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);getSupportActionBar().setDisplayHomeAsUpEnabled(true);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}}


注意在AndroidManifest定义MainActivity的theme时写上:

android:theme="@style/Theme.AppCompat.Light.NoActionBar"
这段代码写上,才可以使得Toolbar取代ActionBar。


MainActivity.java需要的布局文件activity_main.xml:

<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <android.support.design.widget.AppBarLayout        android:id="@+id/appbar"        android:layout_width="match_parent"        android:layout_height="300dip"        android:background="#1e88e5"        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >        <android.support.design.widget.CollapsingToolbarLayout            android:id="@+id/collapsing_toolbar"            android:layout_width="match_parent"            android:layout_height="match_parent"            app:layout_scrollFlags="scroll|exitUntilCollapsed"            app:contentScrim="#ff5252"            app:expandedTitleMarginEnd="60dp"            app:expandedTitleMarginStart="50dp" >            <ImageView                android:layout_width="match_parent"                android:layout_height="match_parent"                app:layout_collapseMode="parallax"                android:background="@drawable/ic_launcher"                android:scaleType="centerCrop" />            <android.support.v7.widget.Toolbar                android:id="@+id/toolbar"                android:layout_width="match_parent"                android:layout_height="?attr/actionBarSize"                app:layout_collapseMode="pin"                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />        </android.support.design.widget.CollapsingToolbarLayout>    </android.support.design.widget.AppBarLayout>    <android.support.v4.widget.NestedScrollView        android:layout_width="match_parent"        android:layout_height="match_parent"        app:layout_behavior="@string/appbar_scrolling_view_behavior" >        <LinearLayout            android:layout_width="match_parent"            android:layout_height="match_parent"            android:orientation="vertical" >            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:padding="50dp"                  android:text="0" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:padding="50dp"                  android:text="1" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:padding="50dp"                  android:text="2" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:padding="50dp"                  android:text="3" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:padding="50dp"                  android:text="4" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:padding="50dp"                  android:text="5" />        </LinearLayout>    </android.support.v4.widget.NestedScrollView>    <android.support.design.widget.FloatingActionButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dip"        app:layout_anchor="@+id/appbar"        app:layout_anchorGravity="bottom|right|end"        android:clickable="true"        android:src="@drawable/ic_launcher" /></android.support.design.widget.CoordinatorLayout>



同时MainActivity.java需要的res/menu/main.xml:

<menu 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"    tools:context="zhangphil.demo.MainActivity" >        <item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:title="设置"        app:showAsAction="never"/>    </menu>


代码运行结果:

更多相关文章

  1. Android(安卓)为Notification加上一个进度条
  2. 第一篇 GridView控件
  3. 利用xml文件创建Menu
  4. android dialog和activity 改变出现消失的 动画样式
  5. 第六篇 Gallery与ImageSwitcher混合使用
  6. Android(安卓)解决 Toolbar 的 Menu 图标无法显示
  7. Android(安卓)DrawerLayout 使用
  8. android listview 的使用方法
  9. Android中一种ThreadPool的实现

随机推荐

  1. Android上SD卡图片的标准缓存方法
  2. Android Adb Gadget Driver
  3. android ndk log使用demo
  4. Android(安卓)带清除功能的输入框控件Cle
  5. android 使用开源库zxing生成二维码,扫描
  6. Android 全局异常处理
  7. android ViewParent requestDisallowInte
  8. android 事件的获取
  9. android选择时间攻略
  10. Android Studio 之 启动和停止服务