效果图

1、布局文件 layout_main.xml

中间标题栏,左右各一个按钮。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > <LinearLayout
android:layout_width="fill_parent"
android:layout_height="60.0dip"
android:background="#F79709" > <ImageButton
android:id="@+id/leftButton"
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:background="@drawable/back" /> <TextView
android:id="@+id/titleText"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|center_vertical"
android:text="我的首页"
android:textColor="#FFFFFF"
android:textSize="22sp" /> <ImageButton
android:id="@+id/rightButton"
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_gravity="center_vertical"
android:layout_marginRight="5dp"
android:background="@drawable/menu" />
</LinearLayout> </LinearLayout>

2、menu文件下的 main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.huayuan.MainActivity" > <item
android:id="@+id/action_config"
android:orderInCategory="100"
android:showAsAction="never"
android:title="设置"/> <item
android:id="@+id/action_data"
android:orderInCategory="100"
android:showAsAction="never"
android:title="查询"/>
<item
android:id="@+id/action_exit"
android:orderInCategory="100"
android:showAsAction="never"
android:title="退出"/> </menu>

3、Java代码 MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnMenuItemClickListener; public class MainActivity extends Activity { ImageButton rightImageBtn;
PopupMenu popupMenu;
Menu menu; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题栏
setContentView(R.layout.activity_main); rightImageBtn = (ImageButton) findViewById(R.id.rightButton);
popupMenu = new PopupMenu(this, rightImageBtn);
menu = popupMenu.getMenu();
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.main, menu);
// 点击右按钮弹出菜单栏
rightImageBtn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
popupMenu.show();
}
});
// 点击菜单栏item
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_config:
// TODO:设置
break;
case R.id.action_data:
// TODO:查询
break;
case R.id.action_exit:
// TODO:退出
break;
default:
break;
}
return false;
}
});
}
}

5、问题

  • 如何给menu做个样式,比如改变颜色、文字居中的?
  • 如何改变menu的位置?
  • 如何把标题栏在项目所有的界面使用?
  • 如何使标题栏与顶部颜色融合在一起?

【Android-PopupMenu控件】 自定义标题栏+PopupMenu菜单的更多相关文章

  1. Android 常用控件自定义样式RadioButton、CheckBox、ProgressBar、

    一.RadioButton / CheckBox 系统自带的RadioButton/CheckBox的样式,注定满足不了实际运用中的情况,有时候自定义自己的样式:此次把自己中工作学习过程中所学到的东西 ...

  2. delphi popupmenu控件用法

    是,右键菜单控件,和特定的窗体控件的popmenu属性关联就可以了 添加一个popupmenu控件,双击该控件,在弹出的界面中设置好name以及caption属性,点击事件的做法就跟button一样了 ...

  3. 【Android开发日记】之入门篇(十四)——Button控件+自定义Button控件

        好久不见,又是一个新的学期开始了,为什么我感觉好惆怅啊!这一周也发生了不少事情,节假日放了三天的假(好久没有这么悠闲过了),实习公司那边被组长半强制性的要求去解决一个后台登陆的问题,结果就是把 ...

  4. Android基本控件之Menus

    在我们的手机中有很多样式的菜单,比如:我们的短信界面,每条短信,我们长按都会出现一个菜单,还有很多的种类.那么现在,我们就来详细的讨论一下安卓中的菜单 Android的控件中就有这么一个,叫做Menu ...

  5. Android 开源控件与常用开发框架开发工具类

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  6. 矩阵, 矩阵 , Android基础控件之ImageView

    天下文章大家抄,以下所有内容,有来自copy,有来自查询,亦有自己的总结(目的是总结出自己的东西),所以说原创,不合适,说是转载也不恰当,所以我称之为笔记,可惜没有此分类选项,姑且不要脸一点,选择为原 ...

  7. Github上star数超1000的Android列表控件

    Android开发中,列表估计是最最常使用到的控件之一了.列表相关的交互如下拉刷新,上拉更多,滑动菜单,拖动排序,滑动菜单,sticky header分组,FAB等等都是十分常见的体验.Github中 ...

  8. 【Android开发日记】之入门篇(十三)——Android的控件解析

    Android的控件都派生自android.view.View类,在android.widget包中定义了大量的系统控件供开发者使用,开发者也可以从View类及其子类中,派生出自定义的控件. 一.An ...

  9. 一个Demo让你掌握Android所有控件

    原文:一个Demo让你掌握Android所有控件 本文是转载收藏,侵删,出处:"安卓巴士"      下面给出实现各个组件的源代码: 1.下拉框实现--Spinner packag ...

  10. Android基础控件ListView基础操作

    1.简介 基于Android基础控件ListView和自定义BaseAdapter适配器情况下,对ListView的数据删除和添加操作: public boolean add(E e) {//添加数据 ...

随机推荐

  1. 小菜鸟之oracle触发器

    1.触发器说明 触发器是一种在事件发生时隐式地自动执行的PL/SQL块,不能接受参数,不能被显式调用 2.触发器类型 根据触发器所创建的语句及所影响的对象的不同,将触发器分为以下3类 (1)DML触发 ...

  2. HDU 1325 有根树的判断

    Is It A Tree? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...

  3. python字典改变value值方法总结

    今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值.我们开始进入文章吧. 首先我们得知道什么是修改字典 修改 ...

  4. fontmin字体子集

    怕忘了做个记录 链接:http://ecomfe.github.io/fontmin/#feature 特点:方便,快捷.

  5. python+pycharm+django admin css样式出问题

    最近打算学习一下Python,基础知识有了大概的了解,想上手搞搞东西. 我用的python 3.5+pycharm+django 1.11.2 在使用Django,打开127.0.0.1:8000/a ...

  6. python colormap

    from colormap import rgb2hex import numpy as np from matplotlib import pyplot as plt color_names = [ ...

  7. Linux下一种高效多定时器实现

    Linux下一种高效多定时器实现 作者:LouisozZ 日期:2018.08.29 运行环境说明 由于在 Linux 系统下一个进程只能设置一个时钟定时器,所以当应用需要有多个定时器来共同管理程序运 ...

  8. layui upload 在JS动态加载内容后, 点击按钮无反应

    /** * 根据用户选择的不同规格选项 * 返回 不同的输入框选项 */ function ajaxGetSpecInput2(spec_arr) { var goods_id = $('#goods ...

  9. hdu 2066 Dijstra 堆优化

    嗯 有广搜的意思 #include<cstdio> #include<iostream> #include<queue> #include<vector> ...

  10. javaIO——StringReader & StringWriter

    上一篇概述篇说过,一个IO对象是指一个可以被关闭的数据源或者目标,那么StringReader和StringWriter就是一个字符串源和字符串目标. 1. StringtReader: 文档说:St ...