博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 自定义底部公用菜单
阅读量:6159 次
发布时间:2019-06-21

本文共 4992 字,大约阅读时间需要 16 分钟。

注释:此案例主要展示自定义底部菜单,一处封装处处调用。使用起来相当方便

一、初始的Activity

package com.example.myapi.buttommenu;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;import com.example.myapi.R;import com.example.myapi.buttommenu.MenuUtils.MeunOnClickListener;public class Menu1Activity extends Activity implements MeunOnClickListener,OnClickListener{    private MenuUtils menuUtils;    private Button btn_two;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.menu1);        menuUtils = (MenuUtils)findViewById(R.id.menu_utils);        menuUtils.setMenuListener(this);        btn_two = (Button)findViewById(R.id.btn_two);        btn_two.setOnClickListener(this);    }    @Override    public void menuOne() {        Toast.makeText(this, "您点击了菜单一", Toast.LENGTH_LONG).show();    }    @Override    public void menuTwo() {        Toast.makeText(this, "您点击了菜单二", Toast.LENGTH_LONG).show();    }    @Override    public void menuThree() {        Toast.makeText(this, "您点击了菜单三", Toast.LENGTH_LONG).show();    }    @Override    public void menuFour() {        Toast.makeText(this, "您点击了菜单四", Toast.LENGTH_LONG).show();    }    @Override    public void onClick(View v) {        switch(v.getId()){        case R.id.btn_two:            Intent intent = new Intent();            intent.setClass(this, Menu2Activity.class);            startActivity(intent);            break;        }    }}

第二个Activity

package com.example.myapi.buttommenu;import com.example.myapi.R;import com.example.myapi.buttommenu.MenuUtils.MeunOnClickListener;import android.app.Activity;import android.os.Bundle;import android.widget.Toast;public class Menu2Activity extends Activity implements MeunOnClickListener{    private MenuUtils menuUtils;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.menu2);        menuUtils = (MenuUtils)findViewById(R.id.menu_utils);        menuUtils.setMenuListener(this);    }    @Override    public void menuOne() {        Toast.makeText(this, "您点击了菜单一", Toast.LENGTH_LONG).show();    }    @Override    public void menuTwo() {        Toast.makeText(this, "您点击了菜单二", Toast.LENGTH_LONG).show();    }    @Override    public void menuThree() {        Toast.makeText(this, "您点击了菜单三", Toast.LENGTH_LONG).show();    }    @Override    public void menuFour() {        Toast.makeText(this, "您点击了菜单四", Toast.LENGTH_LONG).show();    }}

自定义Menu

package com.example.myapi.buttommenu;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.LinearLayout;import com.example.myapi.R;/** * 菜单工具类 * @author  *  * */public class MenuUtils extends LinearLayout implements OnClickListener{    private Button btn_1;    private Button btn_2;    private Button btn_3;    private Button btn_4;    private Context context;    private MeunOnClickListener listener;    public MenuUtils(Context context) {        super(context);        this.context = context;        initView(context);    }    public MenuUtils(Context context, AttributeSet attrs) {        super(context, attrs);        initView(context);    }    private void initView(Context context){        LinearLayout menuView = (LinearLayout)LayoutInflater.from(context).inflate(com.example.myapi.R.layout.menutuils, null);        addView(menuView);        btn_1 = (Button)menuView.findViewById(R.id.btn_1);        btn_2 = (Button)menuView.findViewById(R.id.btn_2);        btn_3 = (Button)menuView.findViewById(R.id.btn_3);        btn_4 = (Button)menuView.findViewById(R.id.btn_4);        btn_1.setOnClickListener(this);        btn_2.setOnClickListener(this);        btn_3.setOnClickListener(this);        btn_4.setOnClickListener(this);    }    public void setMenuListener(MeunOnClickListener listener){        this.listener = listener;    }    public interface MeunOnClickListener{        public void menuOne();        public void menuTwo();        public void menuThree();        public void menuFour();    }    @Override    public void onClick(View v) {        switch(v.getId()){        case R.id.btn_1:            listener.menuOne();            break;        case R.id.btn_2:            listener.menuTwo();            break;        case R.id.btn_3:            listener.menuThree();            break;        case R.id.btn_4:            listener.menuFour();            break;        }    }    }

一下是布局文件

 

完毕

转载于:https://www.cnblogs.com/tony-yang-flutter/p/Android%e8%87%aa%e5%ae%9a%e4%b9%89%e5%ba%95%e9%83%a8%e8%8f%9c%e5%8d%95.html

你可能感兴趣的文章
Laravel 5.0 - Middleware (中间件)
查看>>
文件特殊权限及facl
查看>>
我的友情链接
查看>>
Android按两次返回键退出应用
查看>>
第一章:认识Redhat Linux
查看>>
文本查看指令
查看>>
我的友情链接
查看>>
android开源项目框架大全:《IT蓝豹》
查看>>
我的友情链接
查看>>
如何做地图标注
查看>>
js移除字符串的中文/空格
查看>>
ajax的使用
查看>>
关于web安全
查看>>
HDU - 4740 The Donkey of Gui Zhou
查看>>
部分和问题
查看>>
10. Regular Expression Matching
查看>>
FormData是什么
查看>>
动态规划1--最长公共子序列
查看>>
Just write about
查看>>
Maven+Mybatis+Spring配置
查看>>