重温Android之Toolbar的使用

本文介绍了一款自制Android记事本应用的设计思路与实现细节,重点讲解如何使用Toolbar替代ActionBar,并自定义其布局和功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            最近想着做一个记事本一样的app,一是因为感觉平时会有很多灵光一闪的计划,但过后总是容易忘记,二是正好要开始做Java的课程设计,里边有个记事本的题目,直接把它搞成android端的,希望老师不会打我。

       要实现的toolbar的效果大概是这样的:

       

       title居中,右侧有一个选择日期的button,

       Toolbar做为ActionBar的替代品,确实有很大的优势,主要在于toolbar本身是一个ViewGroup可以来使用,当我们需要添加其他view,可以直接作为子view放到toolbar中。

      例如:toolbar默认的title是靠左,右侧是一个setting的dropmenu,我们要替换,

      首先在布局文件中: 

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay">
            <TextView
                android:id="@+id/datetitle"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:gravity="center"
                android:text="今天"
                android:textStyle="bold"
                android:textSize="22dp"/>
            <ImageView
                android:id="@+id/datebtn"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_gravity="right"
                android:layout_marginRight="10dp"
                android:src="@drawable/date"/>
        </android.support.v7.widget.Toolbar>
          通过layout_gravity来控制子view的位置,

          然后还需要做的就是在activity中:

          

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("");
        setSupportActionBar(toolbar);
          并且在onCreateOptionMenu中把menu加载布局文件注释掉:

           

public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        //getMenuInflater().inflate(R.menu.main, menu);
        return false;
    }
          这样就可以达到这样的效果了。

          当然使用Toolbar时不要忘记关闭ActionBar

          

<style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值