Android 自定义带有文本的后退按钮

2023-12-26

我希望在我的 Android 应用程序中有一个像我在 iOS 应用程序中那样的操作栏:

.

不幸的是,我不知道如何制作仅包含文本的后退按钮以及如何将标题移动到中心。这将适用于整个应用程序,而不仅仅是一种布局。

有人可以帮我吗?


我找到了一个简单的解决方案。

您只需为自定义 ActionBar 创建布局custom_action_bar_layout.xml

<?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="50dp"
   android:background="@color/colorPrimary">

    <TextView
        android:id="@+id/title_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textAllCaps="true"
        android:text="name"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#fff"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/back_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#fff"
        android:text="Back"/>

</RelativeLayout>

然后在你的ExampleActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_edit_date);

    ActionBar mActionBar = getSupportActionBar();
    mActionBar.setDisplayShowHomeEnabled(false);
    mActionBar.setDisplayShowTitleEnabled(false);
    LayoutInflater mInflater = LayoutInflater.from(this);

    View mCustomView = mInflater.inflate(R.layout.custom_action_bar_layout, null);
    TextView title = (TextView) mCustomView.findViewById(R.id.title_text);
    title.setText("Title");
    TextView backButton = (TextView) mCustomView.findViewById(R.id.back_button);
    backButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish();
        }
    });

    mActionBar.setCustomView(mCustomView);
    mActionBar.setDisplayShowCustomEnabled(true);
}

这就是结果。 https://i.stack.imgur.com/eTVg9.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 自定义带有文本的后退按钮 的相关文章

  • Kotlin Android Firebase 数据库哈希映射转换为类

    我正在尝试从 firebase 数据库获取数据 断点显示它正在获取数据 但看起来我没有正确地将其分配给我的班级 这会导致此异常 java lang ClassCastException 无法将 java util HashMap 转换为 班
  • 服务如何在后台运行 - Android

    今天的采访中我被问到了这个问题 什么是服务 我对此的回答是 Service 是 Android 的基本组件 它没有 UI 并且在后台运行 Service 是否在主线程上运行 不 那么它是如何在后台运行的呢 我心里一片空白 有人可以解释一下如
  • 需要对某些片段禁用 CollapsingToolbarLayout 的展开

    我有一个AppCompatActivity控制替换许多片段 这是我的布局 活动 main xml
  • AIRPLANE_MODE 的广播接收器无法与 SDK 26 一起使用

    通常 我使用简单的代码来放置Toast当用户改变AIRPLANE MODE 并且它可以使用targetSdkVersion 25 我的 AirPlaneModeReceiver public class AirPlaneModeReceiv
  • ndk-build error.opencv2/core/core.hpp:没有这样的文件或目录

    我在 Android 中使用 OpenCV Nonfree 模块时遇到问题 我读了这个教程https sites google com site wghsite technical notes sift surf opencv androi
  • 清晰的图标 清晰的 Android 应用程序

    你好 下午好 关于如何提高图标的 png 质量 有什么想法吗 我使用了 Android 开发者页面上的套件 但我无法获得清晰的图像 我的意思是非常清晰 我是否需要以不同的方式加载此图标 而不仅仅是拖入我的布局 谢谢 我使用这个布局
  • 突出显示列表视图项目

    我需要在触摸列表视图项目时突出显示它并保持突出显示状态 我尝试了我发现的一切 但没有任何效果 这是我的代码 这是列表视图
  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • 片段活动中的 commitAllowingStateLoss()

    我的应用程序使用片段活动 它仅处于纵向模式 无法旋转屏幕 最初我使用的是commit 方法 但现在我计划不加区别地将这些更改为commitAllowingStateLoss 对于碎片活动 是否有任何理由不不加区别地执行此操作而不重新评估我使
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • 如何防止应用程序被盗(针对Android应用程序)?

    我想知道防止人们窃取我的应用程序的最有效方法是什么 在线下载 apk 的副本而不是购买它 我已经花了一个lot特别是 Droidbox 上的时间 并且不会发布 Sync 直到我可以保证提供专业版本的非法副本的人无法发布 有人实施过这个吗 我
  • 本地管理的广播接收器泄漏?

    当应用程序被系统杀死时 本地 即使用 LocalBroadcastManager 管理 BroadcastReceiver 是否有可能泄漏 我需要它的具体用例是我想在活动的 onCreate onDestroy 中注册 注销 Broadca
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • onStart() 到底做了什么? - 安卓[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直想知道 onStart 函数在 android 生命周期中的确切作用 网上的大多数资源只是说 它在您的活动在屏幕上可见之前被调用 但到目前为止我所做的应用程序我从未使用过onStart 我在
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • JavaScript 点击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用

    我在 Android 4 0 4 上使用 Samsung Galaxy SIII 的默认浏览器时遇到了最奇怪的问题 对于以下页面 单击链接将不会触发 JavaScript 处理程序 从其中一个 div 的内容中删除单个 a 字母使它们再次工
  • 片段中的 SavedInstanceState 始终为 null

    我使用 XML 以及活动中的 setContentView 将片段附加到活动 A 有一个问题 因为我的片段中有非常动态的视图 所以当方向改变时 我必须恢复所有的观点状态 我有问题 因为我正在使用类似的东西 public void onSav
  • 如何以编程方式检测android中可用的底部软导航栏?

    我试图通过 android 程序确定软导航栏 我没有找到直接的方法来确定 有没有办法找到导航栏的可用性 软导航栏图像在这里 以下方法对我有用并在许多设备上进行了测试 public boolean hasNavBar Resources re

随机推荐

  • Magento 1.9 - 产品未添加到注销用户的购物篮中

    与大多数与 Magento 相关的问题一样 通常需要用头撞墙才能找到解决方案 然而这一次 什么也没有 对于已注销并尝试将商品添加到空购物车的客户 我遇到了一个奇怪的问题 它不适用于某些特定的产品类型 我扩展了购物车控制器以添加对用户输入值的
  • 无需注册 COM 即可与 C# 互操作,可能吗?

    是否可以通过 Dotnet 互操作和 C 使用免注册 COM 如果是这样 如何在 C 项目中添加对 COM 对象的引用 我有一个免费的 ATL COM 服务器 dll 带有嵌入式清单和两个测试客户端 一个是 cpp 另一个是 c cpp 客
  • C# 如何不断向标签框添加值,以便生成的数字不断添加到其中?

    我正在开发一个骰子程序 我们应该有一个 总收入 标签框 其中显示滚子掷骰子时赚取的总金额 如果你掷出 6 你将赚取 600 美元 如果你掷出 5 你将赚取 500 美元 等等 我可以让美元值显示在标签框上 但当我继续滚动时 该数字将被下一个
  • 错误:“jQuery 未定义”

    我用 jQuery 写了一个脚本 它适用于 Firefox 和 GoogleChrome 仅使用 IE 我会返回此错误 jQuery 未定义 jquery ui 1 8 4 custom min js 第 10 行字符 1 这是我的页面的标
  • NuGet Pack - 无法从远程源检索信息

    我正在尝试运行 nuget pack project csproj 但由于项目的目录结构 A B C 项目 它一直说 NuGet Protocol Core Types FatalProtocolException 无法从远程源 A B P
  • 使用 trie 的 Python 拼写检查器

    我正在尝试使用 trie 数据结构实现拼写检查器 我目前有以下大纲Node class Node def init self self next self word marker False def add item self string
  • 将数据从一张纸复制到另一张纸的最后一行

    我正在尝试将数据从一张纸复制到另一张纸的最后一行 我这样做的原因是因为我想将数据合并到已经存在的工作表中并且我已经包含数据 下面是我到目前为止的代码 它只再次复制到另一张纸的 A2 上 为此我应该采取什么方法 Sub Upload Dim
  • 线程安全的保留/释放

    我有一个可以从多个后台线程 可能同时 访问的类 我无法复制该类 因为重新创建它的内容 处理或内存方面 可能会很昂贵 当后台处理仍在进行并访问该属性时 该类的属性也可能被替换 目前我有定期的保留 释放 但似乎情况 至少在 iOS 4 上 这些
  • UITableView - 我可以跨越多行或使用嵌套 UITableView 吗?

    我基本上正在尝试实现以下可滚动布局 并正在寻找一些关于实现它的最佳方法的建议 潜在的解决方案可能是 嵌套 UITableView 我考虑过将所有 A 组件放在父 UITableView 中的单行中 并将行 A1 A2 和 A3 放在子 UI
  • 通过传递纬度和经度打开 Apple 地图

    当用户单击链接时 我尝试在 PhoneGap 应用程序中打开 Apple 地图 Apple文档中的URL方案是这样的http maps apple com maps ll 51 83733 8 3016 如果存在 Apple 地图 则会打开
  • 如何将 dzi 文件转换为多瓦金字塔 tiff 格式

    参考答案 如何将 dzi 深度变焦 文件转换为完整图像 https stackoverflow com questions 53986084 how to convert dzi deep zoom files to full image
  • 静态函数的 DLL 导出

    我有以下静态函数 static inline HandVal StdDeck StdRules EVAL N StdDeck CardMask cards int n cards 我可以将此函数导出到 DLL 中吗 如果是这样 怎么办 Th
  • 在列表理解或生成器表达式中使用 while

    我可以用if and for在列表推导式 生成器表达式中为 list i for i in range 100 if i i lt 30 我知道这不是最有效的 但请耐心等待 因为情况可能要复杂得多 这只是一个例子 然而 这仍然会经历数百次迭
  • 复制 php 变量对性能的影响

    只是想知道复制非常大的 php 变量对性能的影响 例如 arr 是一个巨大的数组 如果我这样做 arr2 arr 这是一个深拷贝还是 arr2 只是像 Java 中那样指向 arr 的指针 提前致谢 arr2 arr创建深层副本 但实际的复
  • Switch 语句始终包含 case 和 default

    当我编译这个程序时 它输出相应的 switch case 和默认标签内容 它唯一不打印的值是一月 任何帮助都会很棒 样本输入 4 示例输出 四月 错误 虽然我可以让程序变得更好 但我需要以这种特定的方式来实现 while month EOF
  • 什么时候使用“require-dev”?什么是常见的开发依赖项?

    虽然我熟悉了基础知识composer json并指定下的依赖关系requirekey我还不太明白其目的require dev Composer 的文档指出 要求开发 仅限 root http getcomposer org doc 04 s
  • XACML 义务

    我们如何使用 XACML 中的义务 任何参考都会有帮助 这种情况是义务应提交 PIP 并将结果返回给 PEP Thanks 作者评论中的示例
  • 关于新的 EF5 自动编译查询功能

    我对新的 EF5 自动编译查询功能进行了一些测试 问题是我没有看到性能有任何差异 我使用 NET 4 0 和 EF4 0 制作了一个项目 但没有使用编译查询 我使用 NET 4 0 和 EF4 0 制作了另一个带有编译查询的项目 性能提高了
  • “位置:绝对”与 Flexbox 冲突吗?

    我想做一个div粘在屏幕顶部 不影响其他元素 其子元素位于中间 parent display flex justify content center position absolute div class parent div class
  • Android 自定义带有文本的后退按钮

    我希望在我的 Android 应用程序中有一个像我在 iOS 应用程序中那样的操作栏 不幸的是 我不知道如何制作仅包含文本的后退按钮以及如何将标题移动到中心 这将适用于整个应用程序 而不仅仅是一种布局 有人可以帮我吗 我找到了一个简单的解决