• ActionBar点击弹出下拉框操作


    首先:

     

    getActionBar().setDisplayShowTitleEnabled(false);
    
    		ActionBar.LayoutParams lp = new ActionBar.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
    		lp.gravity = lp.gravity & ~Gravity.HORIZONTAL_GRAVITY_MASK | Gravity.LEFT;
    		ActionBarPopupButton popupButton = new ActionBarPopupButton(this);
    		popupButton.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
    
    			@Override
    			public boolean onMenuItemClick(MenuItem item) {
    				Intent intent = new Intent();
    				intent.setClass(MainActivity.this, cls[item.getOrder()]);
    				intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    				if (item.getOrder() == 0) {
    					intent.putExtra(Extras.DATE, mDates.get(mViewPager.getCurrentItem()));
    				}
    				startActivity(intent);
    				return false;
    			}
    		});
    		getActionBar().setCustomView(popupButton, lp);
    		int change = getActionBar().getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_CUSTOM;
    		getActionBar().setDisplayOptions(change, ActionBar.DISPLAY_SHOW_CUSTOM);


    private Class<?>[] cls = new Class[] { HistoryActivity.class, VibrateActivity.class, CircleActivity.class, PersonalActivity.class, DeviceActivity.class };

     


    第二:

    public class ActionBarPopupButton extends Button implements OnClickListener {
    
    	private PopupMenu mPopupMenu;
    
    	public ActionBarPopupButton(Context context) {
    		super(context);
    		setBackgroundResource(R.drawable.abc_spinner_ab_holo_dark);
    		setTextAppearance(getContext(), android.R.style.Widget_Spinner);
    		setText(getContext().getString(R.string.title_activity_detail));
    		setTextColor(getResources().getColor(R.color.white));
    		setOnClickListener(this);
    		mPopupMenu = new PopupMenu(getContext(), this);
    		mPopupMenu.inflate(R.menu.main_navigation_list);
    	}
    
    	@Override
    	public void onClick(View v) {
    		mPopupMenu.show();
    	}
    
    	public void setOnMenuItemClickListener(OnMenuItemClickListener listener) {
    		mPopupMenu.setOnMenuItemClickListener(listener);
    	}
    }

    setBackgroundResource 图片

    setTextAppearance  样式

    setText  文本内容

    setTextColor   颜色

    main_navigation_list  XML

    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item
            android:orderInCategory="0"
            android:showAsAction="never"
            android:title="@string/title_activity_history"/>
        <item
            android:orderInCategory="1"
            android:showAsAction="never"
            android:title="@string/title_activity_vibrate"/>
        <item
            android:orderInCategory="2"
            android:showAsAction="never"
            android:title="@string/title_activity_circle_2"/>
        <item
            android:orderInCategory="3"
            android:showAsAction="never"
            android:title="@string/title_activity_personal"/>
        <item
            android:orderInCategory="4"
            android:showAsAction="never"
            android:title="@string/title_activity_device"/>
    
    </menu>


     

  • 相关阅读:
    PMM Client 安装异常报错
    安装Docker时错误提示 "could not change group /var/run/docker.sock to docker: group docker not found"的解决方案
    简单概括下MongoDB 4.0 新特性
    MySQL 关于性能的参数配置梳理
    MySQL数据库在IO性能优化方面的设置选择(硬件)
    MongoDB 集合间关联查询后通过$filter进行筛选
    MySQL 基础知识梳理学习(七)----sync_binlog
    第八章 (一)分治 练习题
    第八章 (一)分治
    Logistic回归
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5123611.html
Copyright © 2020-2023  润新知