Android顶部菜单栏 Title等的实现方法

刚才介绍了关于底部菜单栏的实现方法,接下来介绍下顶部的实现。

我是将麻烦的内容都封装成类了,大家使用的时候直接继承,里面的原理如果想知道的话就看源码啦~~好啦,不多说,上菜!!

首先你需要引入两个类,BaseLayout与BaseTitleActivity,这也是我主要想给大家的两个类,当需要有顶部菜单栏的时候,你的Activity就需要继承这BaseTitleActivity这个类,然后会提示你重写BaseTitleActivity里面的HandleTitleBarEvent()方法,这是控制上面菜单栏的按钮点击事件的,BaseLayout是继承RelativeLayout的,所以BaseLayout需要引入它的布局文件,我将其命名为titlebar.xml,只需要将其拷贝到layout文件夹下就可以了,其余的都不需要管啦~

这时候,你除了新建Activity让其继承BaseTitleActivity之外是不要些任何代码的,写代码的时候从现在开始,找到你的继承BaseTitleActivity的那个Activity,我这里是MainActivity,将其setContentView函数改为setView,对的,没错,因为我在BaseTitleActivity将其改为setView了,代码截图如下:

这个时候,只需要调用两个函数,就可以设置你喜欢的顶部菜单栏啦,setTitle("")很容易理解,它是设置顶部显示的文字的,还有

setTitleBar(int, "", int, "");两个int参数代表你要传进来的图片id,可以通过R.drawable.**来获取你在drawable文件夹下的图片。代码如下:

package com.example.topmenu;

import com.sniper.use.BaseTitleActivity;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends BaseTitleActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setView(R.layout.activity_main);
SetTitle("成功啦!!");
setTitleBar(R.drawable.title_back, "", R.drawable.title_home, "");
}

@Override
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 true;
}

@Override
protected void HandleTitleBarEvent(int buttonId) {
// TODO Auto-generated method stub

}

}


效果图如下:

等等,貌似还没添加按钮点击事件呢吧?还记得刚才重写了一个HandleTitleBarEvent方法吗?参数buttonId=0则代表左边按钮,buttonId=1代表右边按钮,所以可以这样来定义事件

@Override
protected void HandleTitleBarEvent(int buttonId) {
// TODO Auto-generated method stub
switch(buttonId){
case 0:
showToast("点击了左边按钮");
case 1:
showToast("点击了右边按钮");
}

}


最后的效果图:

最后呢,奉献源码:源代码下载

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值