Android顶部标题栏自定义,添加按钮

  1. 先写一个标题栏的layout, 放在工程的res/layout下,如下:

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">

    复制代码
     <TextView
         android:id="@+id/tv_title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_marginLeft = "10dp"
         android:text = "AgoraVideo"
         android:textAppearance="?android:attr/textAppearanceLarge"
         />
    
     <Button
         android:id="@+id/return_btn"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentEnd="true"
         android:layout_marginEnd="10dp"
         android:text = "返回"  />
    </RelativeLayout>

这个标题栏里就一个文本代表标题,靠左对齐离最左边10dp,还有个返回按钮靠右对齐,离最右边10个dp

  1. 在你的MainActivity里onCreate方法里就可以用它了

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_agora_test); //主程序的UI layout

    复制代码
         //设置自定义标题栏
         getSupportActionBar().setDisplayShowCustomEnabled(true);
         //从资源中取出这个自定义标题栏
          View actionBar = LayoutInflater.from(this).inflate(R.layout.custom_action_bar, null);
         //设置对齐参数
         ActionBar.LayoutParams params = new         ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT);
         //设置为自定义标题栏
         getSupportActionBar().setCustomView(actionBar, params);
    
         //取出标题栏里的返回按钮
         Button btnReturn = actionBar.findViewById(R.id.return_btn);
         btnReturn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 finish(); //这个是返回上个Activity,这里可以换成你想要的任何操作
             }
         });

    }

开机打包运行,一切正常

相关推荐
summerkissyou19871 小时前
Android-MediaSession-播放流程和例子
android·mediasession
私人珍藏库2 小时前
[Android] 蓝叠模拟器工具箱v1.1
android·智能手机·app·工具·软件·多功能
云霄IT4 小时前
安卓开发之java转dex再转smali
android·java·python
XiaoLeisj4 小时前
Android 短视频项目实战:从用户中心页与沉浸式登录,到验证码鉴权、用户信息持久化和 EventBus 登录态同步
android·webview·eventbus·countdowntimer·token 加密·键值对存储 sp·封装toast/加载 ui
JJay.6 小时前
Android BLE 扫描连接与收发消息实战
android
fly spider6 小时前
MySQL索引篇
android·数据库·mysql
xinhuanjieyi7 小时前
php setplayersjson实现类型转换和文件锁定机制应对高并发
android·开发语言·php
533_7 小时前
[vxe-table] 表头:点击出现输入框
android·java·javascript
邹阿涛涛涛涛涛涛7 小时前
Jetpack Compose Modifier 深度解析:从链式调用到 Modifier.Node
android
jinanwuhuaguo8 小时前
OpenClaw 2026年4月升级大系深度解读剖析:从“架构重塑”到“信任内建”的范式跃迁
android·开发语言·人工智能·架构·kotlin·openclaw