当前位置: 首页 > news >正文

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"><TextViewandroid: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"/><Buttonandroid: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

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

@Overrideprotected 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() {@Overridepublic void onClick(View v) {finish(); //这个是返回上个Activity,这里可以换成你想要的任何操作}});
}

开机打包运行,一切正常

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • springboot多媒体内容管理系统-计算机毕业设计源码08580
  • Linux学习笔记:Linux基础知识汇总(个人复习版)
  • 2435. 矩阵中和能被 K 整除的路径(leetcode)
  • 详解Xilinx FPGA高速串行收发器GTX/GTP(5)--详解8B10B编解码
  • Mojo中值的所有权简介
  • 区块链的搭建和运维4
  • 数据可视化Axure大屏原型制作分享
  • CAN 应用编程基础-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板
  • 华为OD-D卷找座位
  • 计算机毕业设计选题推荐-生活垃圾治理系统-Java/Python项目实战
  • 苹果应用程序清理卸载工具:App Cleaner Uninstaller Pro for Mac
  • Python设计模式 - 抽象工厂模式
  • Java学习Day20
  • RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
  • 接口自动化测试框架中动态参数接口,加密接口,签名接口你们是怎么处理的?
  • avalon2.2的VM生成过程
  • JavaScript实现分页效果
  • javascript数组去重/查找/插入/删除
  • Laravel Mix运行时关于es2015报错解决方案
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • 爱情 北京女病人
  • 创建一种深思熟虑的文化
  • 大快搜索数据爬虫技术实例安装教学篇
  • 服务器之间,相同帐号,实现免密钥登录
  • 前端js -- this指向总结。
  • 前端知识点整理(待续)
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 跳前端坑前,先看看这个!!
  • 突破自己的技术思维
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​iOS实时查看App运行日志
  • # 数据结构
  • #QT(串口助手-界面)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (C语言)球球大作战
  • (二)PySpark3:SparkSQL编程
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (面试必看!)锁策略
  • (一)kafka实战——kafka源码编译启动
  • (转载)Linux 多线程条件变量同步
  • .apk 成为历史!
  • .md即markdown文件的基本常用编写语法
  • .Net core 6.0 升8.0
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 常见的偏门问题
  • .net 微服务 服务保护 自动重试 Polly
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • @JoinTable会自动删除关联表的数据
  • [<MySQL优化总结>]