ToolBar代替actionBar的用法


//android在5.0后采用toobar代替了actionBar,actionBar是不能在布局中进行填充的,但是toolbar可直接写在布局中,并且可以试想完成的沉侵式标题,下面的对于ToolBar的基本用法介绍


第一个,设置主题样式,在style文件中,没有actionbar的样式


<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
 
第二步:xml文件中的布局,采用协调者布局,用android:fitsSystemWindows="true"  可实现沉侵式标题
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:fitsSystemWindows="true"
        android:background="#00ff00"
        android:id="@+id/action_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.v7.widget.Toolbar>

</android.support.design.widget.CoordinatorLayout>
第三步:使用
/**
 * Created by hu on 2016/12/18.
 */

public class ToolBarActivity extends AppCompatActivity {

    private Toolbar mToolBar;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tool_bar);
        //关联 ToolBar
        mToolBar = (Toolbar) findViewById(R.id.action_bar);
        setSupportActionBar(mToolBar);
        //设置标题
        getSupportActionBar().setTitle("我是ToolBar");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        mToolBar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ToolBarActivity.this, "点击了,关掉", Toast.LENGTH_SHORT).show();
            }
        });
        //设置logo的图片
        mToolBar.setLogo(R.mipmap.ic_launcher);
        //设置二级标题
        mToolBar.setSubtitle("真相大白");

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //设置menu菜单
        getMenuInflater().inflate(R.menu.menu_tool, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        //设置menu菜单的点击事件
        switch (item.getItemId()) {
            case R.id.btn1:
                Toast.makeText(this,"点击了第一个",Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn2:
                Toast.makeText(this,"点击了第2",Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn3:
                Toast.makeText(this,"点击了第3",Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn4:
                Toast.makeText(this,"点击了第4",Toast.LENGTH_SHORT).show();
                break;
        }
        return true;
    }
}


menu菜单代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/btn1"
        android:orderInCategory="100"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="@string/action_settings"
        app:showAsAction="never"
        />
    <item
        android:id="@+id/btn2"
        android:orderInCategory="100"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="@string/action_settings"
        app:showAsAction="never"
        />   <item
        android:id="@+id/btn3"
        android:orderInCategory="100"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="@string/action_settings"
        app:showAsAction="never"
        />
    <item
        android:id="@+id/btn4"
        android:orderInCategory="100"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="@string/action_settings"
        app:showAsAction="never" />
    <item
        android:id="@+id/btn5"
        android:icon="@android:drawable/ic_dialog_email"
        android:orderInCategory="100"
        android:title="@string/action_settings"
        app:showAsAction="never" />

</menu>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值