AppBarLayout需求库
- (2015.5.29)在谷歌2015 I/O 大会时,谷歌宣布了一个今年最让人兴奋的支持库,名叫 Android Design
Support Library,在这个单独的 library 里提供了一堆有用的材料设计 UI 组件。
使用AppBarLayout
- AppBarLayout作用就好像是LinearLayout的作用,把他里面的子view有序排列,比如:在里面嵌入Toolbar,导航条。
先在android studio的app下build.gradle文件引入
dependencies {
compile 'com.android.support:design:24.2.0'
}
在activity_mian.html写入
<LinearLayout
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:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
</LinearLayout>
可以分别设置他样式styles文中设置,
<!--控制头部据appbar的样式-->
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<!--用于控制toolbar溢出菜单的样式-->
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
注意要把本来的那个界面的主题设置为Theme.AppCompat.Light.NoActionBar没有导航条,MainActivity.java文件,
public class MainActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar)findViewById(R.id.toolbar);
toolbar.setTitle("导航条测试");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);//设置是否显示返回箭头退出
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:// 点击返回图标事件
finish();
default:
return super.onOptionsItemSelected(item);
}
}
}